2013-05-13 270 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