.bat文件的问题

我正在使用Windows XP

我需要batch file来执行以下操作:

  1. 在D:/ Webserver / domains /%DOMAINNAME / www /
  2. 打开文件 – D:/Webserver/apache2/conf/extra/httpd-vhosts.conf
  3. 将以下内容附加到该文件中:

    <VirtualHost *:1337> DocumentRoot "D:/Webserver/domains/$DOMAINNAME/www" ServerName "$DOMAINNAME" ServerAlias "$DOMAINNAME" ErrorLog "logs/$DOMAINNAME-error.log" CustomLog "logs/$DOMAINNAME-access.log" common <Directory "D:/Webserver/domains/$DOMAINNAME"> Allow From all AllowOverride All </Directory> </VirtualHost> 
  4. 打开文件 – C:/ WINDOWS / sysstem32 / drivers / etc / hosts

  5. 追加到这个文件:

    127.0.0.1 $ DOMAINNAME

  6. closures文件。

我手动这样做,但很累人。 请帮忙。

干得好:

 mkdir D:\Webserver\domains\%1 mkdir D:\Webserver\domains\%1\www echo ^<VirtualHost %1:1337^> >> D:/Webserver/apache2/conf/extra/httpd-vhosts.conf echo DocumentRoot "D:/Webserver/domains/%1/www" >> D:/Webserver/apache2/conf/extra/httpd-vhosts.conf echo ServerName "%1" >> D:/Webserver/apache2/conf/extra/httpd-vhosts.conf echo ServerAlias "%1" >> D:/Webserver/apache2/conf/extra/httpd-vhosts.conf echo ErrorLog "logs/%1-error.log" >> D:/Webserver/apache2/conf/extra/httpd-vhosts.conf echo CustomLog "logs/%1-access.log" common >> D:/Webserver/apache2/conf/extra/httpd-vhosts.conf echo ^<Directory "D:/Webserver/domains/%1"^> >> D:/Webserver/apache2/conf/extra/httpd-vhosts.conf echo Allow From all >> D:/Webserver/apache2/conf/extra/httpd-vhosts.conf echo AllowOverride All >> D:/Webserver/apache2/conf/extra/httpd-vhosts.conf echo ^</Directory^> >> D:/Webserver/apache2/conf/extra/httpd-vhosts.conf echo ^</VirtualHost^> >> D:/Webserver/apache2/conf/extra/httpd-vhosts.conf echo 127.0.0.1 %1 >> C:/WINDOWS/system32/drivers/etc/hosts 

只需将其保存为.bat文件,然后使用所需的域名作为参数运行即可:

 script.bat MyDomain 

我也修正了你的configuration错误:你不能有多个默认的站点监听同一个端口,所以<VirtualHost>指令需要包含域名。

你可以更好地使用PowerShell,它将在XP上运行。 但是,如果你坚持使用.bat:

CreateDomain.bat newdomain.com

 cd D:\Webserver\domains\ mkdir %1 mkdir %1\www cd D:\Webserver\apache2\conf\extra\ echo DocumentRoot "D:/Webserver/domains/%1/www" >> httpd-vhosts.conf echo ServerName "%1" >> httpd-vhosts.conf echo ServerAlias "%1" >> httpd-vhosts.conf echo ErrorLog "logs/%1-error.log" >> httpd-vhosts.conf echo CustomLog "logs/%1-access.log" common >> httpd-vhosts.conf echo Allow From all >> httpd-vhosts.conf echo AllowOverride All >> httpd-vhosts.conf cd c:\Windows\System32\Drivers\etc echo "127.0.0.1 %1" >> hosts 

这是快速和肮脏的,并包括零错误捕捉(当mkdir失败时会发生什么?此脚本不关心)。 请记住AV软件对hosts文件的修改确实是非常偏执的,所以可能无法运行。