2014-01-15 72 views
2

我嘗試使用for循環將文件移動到子文件夾創建腳本。 在開始時,我與CMD一起工作,然後我複製命令到.bat文件並運行它。 結果沒有任何反應。 爲什麼CMD上的同一個命令可以正常工作,但是從文件不能運行?運行cmd命令工作,但從批處理文件運行不

這是我的命令。

@echo off 
setlocal enableDelayedExpansion 
SET FOL=J:\test 
SET ENDNUM=2 

for /l %x in (1, 1, %ENDNUM%) do (
md "%FOL%/0%x/subfolder" 
move /Y "%FOL%\0%x\*" "%FOL%\0%x\subfolder" 
) 
+0

你已經混合了'/'和\ too。 – foxidrive

回答

7

您必須在批處理文件中將for命令的百分號加倍。

for /l %%x in (1, 1, %ENDNUM%) do (
    md "%FOL%/0%%x/subfolder" 
    move /Y "%FOL%\0%%x\*" "%FOL%\0%%x\subfolder" 
) 
0

檢查您的.bat文件的編碼。當我使用UTF-8時,命令提示符顯示錯誤:

C:\Users\***\Desktop>´╗┐cmd 
'´╗┐cmd' is not recognized as an internal or external command, 
operable program or batch file. 

當我使用ANSI編碼時,.bat文件按預期工作。