批处理文件,写入文本文件会在wordpad中出错

时间:2015-08-24 12:23:51

标签: batch-file

这是我第一次编写一个简单的批处理文件。我想给两个文本文件写一些行。写入文件非常顺利,除了wordpad启动两次并给出一个错误,它无法找到C:\ WINDOWS \ system32 \ to,我无法弄清楚为什么这是...

@echo off
set /p UserInputProject=What is the name of the project you want to create? 

;;;;;;;;;;;;;; write to host file first ;;;;;;;;;;;;;;;;;;;;;;;;;;;
set hostspath=%windir%\System32\drivers\etc\hosts
echo 127.0.0.1 %UserInputProject%.local >> %hostspath%
echo 127.0.0.1 %UserInputProject%.cms.local >> %hostspath%

;;;;;;;;;;;;;; write to vhost file second ;;;;;;;;;;;;;;;;;;;;;;;;;
set vhostpath=C:\xampp\apache\conf\extra\httpd-vhosts.conf
echo ^<VirtualHost ^*:80^> >> %vhostpath%
echo    ServerAdmin webmaster@local >> %vhostpath%
echo    DocumentRoot "C:/xampp/htdocs/%UserInputProject%/httpdocs" >> %vhostpath%
echo    ServerName %UserInputProject%.local >> %vhostpath%
echo ^</VirtualHost^> >> %vhostpath%

1 个答案:

答案 0 :(得分:4)

;是批量和,=<space><tab>的标准分隔符,通常被视为空格 - 因此行;;;;;;;;;;;;;; write to vhost file second ;;;;;;;;;;;;;;;;;;;;;;;;;未被注释。

write.exe正是wordpad,因为.exe%cmdext%变量的一部分,所以它被启动。第一个参数是to,所以wordpad尝试打开文件{ {1}}文件。 尝试在您要评论的行中添加to或将rem更改为;