Board logo

标题: [其他] BAT调用TXT文件,并在后台执行,为什么提示找不到文件? [打印本页]

作者: yessanya    时间: 2014-7-30 20:32     标题: BAT调用TXT文件,并在后台执行,为什么提示找不到文件?

:bat文件
  1. @echo off
  2. for /f "delims=*" %%a in (C:\out.txt) do start "" "%%a"
  3. pause>nul
复制代码
:txt文件(out.txt)
  1. @echo off
  2. if "%1"=="h" goto begin
  3. start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
  4. :begin
  5. cmd /c netsh interface ip set address name="本地连接" source=static addr=192.168.0.152 mask=255.255.255.0 gateway=192.168.0.1 gwmetric=1
复制代码
思路:
通过BAT调用TXT文件,并在后台执行,然后退出

出现结果:(桌面出现2个CMD窗口,其中一窗口出现以下内容)
系统找不到文件@echo off 。
系统找不到文件if "%1"=="h" goto begin 。
系统找不到文件start mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit 。
系统找不到文件:begin 。
最后一行执行了

求助:
请各位看看问题出现在那里,最好不更改思路框架,谢谢!
作者: 522235677    时间: 2014-7-30 21:13

bat 文件不觉得多余吗?txt直接改bat运行不好吗?不能直接运行txt内的代码
作者: CrLf    时间: 2014-7-30 21:50

start "" "%%a" 只能执行外部命令,不能执行内部命令,所以除了 cmd /c ... 之外的行都会报错
而且如楼上所说,保存为 txt 是多此一举
作者: 过两招再说    时间: 2014-7-31 02:46

很好很不错,多多学习




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2