我尝试使用for循环创建脚本以将文件移动到子文件夹。
一开始,我使用CMD
然后将命令复制到.bat
文件并运行它。
结果没有任何反应。
为什么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 :(得分:8)
您必须在批处理文件中将for
命令上的百分号加倍。
for /l %%x in (1, 1, %ENDNUM%) do (
md "%FOL%/0%%x/subfolder"
move /Y "%FOL%\0%%x\*" "%FOL%\0%%x\subfolder"
)
答案 1 :(得分: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文件按预期工作。