2013-05-13 267 views
0

我有一个批处理文件,它不起作用。有趣的是所有的命令都在cmd窗口内运行时工作。windows批处理文件不起作用

非工作 - 故障线路从批处理文件:

for /F %%i in ('dir /B C:\Users\Jacek2\Desktop\USB\test\1\depesza*') do (
move /Y C:\Users\Jacek2\Desktop\USB\test\1\"%%i" C:\Users\Jacek2\Desktop\USB\test\1\depesza.cvs && start /wait E:\EasyPHP-12.0\mysql\bin\mysqlimport.exe --columns=typ_raportu,kod_stacji --user=root --password= --host=127.0.0.1 --fields-enclosed-by="\"" --fields-terminated-by="," --fields-escaped-by="" test C:\Users\Jacek2\Desktop\USB\test\1\depesza.csv) 

从CMD窗口:

c:\>for /F %i in ('dir /B C:\Users\Jacek2\Desktop\USB\test\1\depesza*') do move 
/Y C:\Users\Jacek2\Desktop\USB\test\1\"%i" C:\Users\Jacek2\Desktop\USB\test\1\de 
pesza.cvs && start /wait E:\EasyPHP-12.0\mysql\bin\mysqlimport.exe --columns=typ 
_raportu,kod_stacji --user=root --password= --host=127.0.0.1 --fields-enclosed-b 
y="\"" --fields-terminated-by="," --fields-escaped-by="" test C:\Users\Jacek2\De 
sktop\USB\test\1\depesza.cvs 

,当我从我的批处理文件中删除下面的代码,批处理文件工作。

&& start /wait E:\EasyPHP-12.0\mysql\bin\mysqlimport.exe --columns=typ_raportu,kod_stacji --user=root --password= --host=127.0.0.1 --fields-enclosed-by="\"" --fields-terminated-by="," --fields-escaped-by="" test C:\Users\Jacek2\Desktop\USB\test\1\depesza.csv) 

有谁知道为什么?

+0

在批处理文件的线条和你的文字直接在cmd中逃逸每个&的不相似。检查它并重新运行 – shubendrak 2013-05-13 09:49:15

+0

会发生什么?意外的结果?错误信息?说明! – Endoro 2013-05-13 09:58:27

+0

命令行'for'运行不正常,甚至没有将txt文件移动为cvs文件, 我不知道是否有任何错误,因为我无法停止批处理脚本(尝试在批处理文件结束时暂停) – JAC 2013-05-13 15:15:08

回答

1

试试这个。如果这不是一个cmd长度问题,那么双引号将被视为一个窗口标题。领先的“”停止这个问题。

start "" and the rest of your command 
+0

我刚刚试过 && copy C:\ Users \ Jacek2 \ Desktop \ USB \ test \ 1 \ depesza.cvs C:\ Users \ Jacek2 \ Desktop \ USB \ test \ 1 \ depesza1.cvs 所以我可以说这个问题是与启动命令 好吧,所以我已经完成了你说的开始和其余命令在“” 有进展一个文件被移动为CVS然后我得到错误消息窗口无法找到'--fields-terminated-通过='。确保你输入了正确的名字,然后重试。 现在它与“ – JAC 2013-05-13 15:27:27

+0

”只是再次检查它,可以说,第二部分&&开始....仍然没有执行,由于错误信息,但移动工程 奇怪的是我为什么可以运行这个命令在cmd窗口但是不能在.bat文件中运行? 我改变的唯一的东西是%i(在cmd窗口中运行)到%% i(作为一个.bat文件运行),如同在微软网站上获取的。 – JAC 2013-05-13 15:36:01

+0

你是否把你的命令放在''“''中?它意味着在'”“' – foxidrive 2013-05-13 22:20:01

0

我建议用^

+0

你能多解释一下吗? 你要我写&^&^吗? – JAC 2013-05-13 15:29:41

+0

不完全 - '^&^&' – Magoo 2013-05-13 16:26:51

+0

我试过了: .... depesza。cvs ^&^&start/wait E:\ EasyPHP-12.0 \ ..... 现在这两个命令都不起作用“移动”和“开始” – JAC 2013-05-14 00:18:24