批处理脚本执行报错‘1 was unexpected at this time’及出现‘More?’提示问题求助
批处理脚本执行报错‘1 was unexpected at this time’及出现‘More?’提示问题求助
嗨,我来帮你梳理下这两个问题的原因和解决办法:
1. 为什么会出现“/1 was unexpected at this time”报错?
批处理中的计数型for循环必须使用/L参数(L是Loop的缩写,专门用于循环迭代计数),你误把/L写成了/1,这是一个完全无效的参数,系统无法识别,所以直接抛出了这个错误。正确的计数循环开头应该是for /L %f in (...)。
2. 去掉/1后为什么会出现“More?”提示?
你修改后的命令是:
for %f in (1,1,10) do (copy "cover og" "File_copy_%f.xlsx"
注意到命令末尾缺少了一个闭合的)吗?批处理里使用do (...)这种块命令时,必须保证括号是成对出现的。当系统识别到do (却没有找到对应的)时,会认为你还没写完整个命令,所以会不断提示“More?”,等待你补全剩余内容。
正确的命令写法
情况1:在命令提示符直接执行
for /L %f in (1,1,10) do (copy "cover og" "File_copy_%f.xlsx")
情况2:写在批处理文件(.bat/.cmd)中
批处理文件里的for变量需要使用双百分号%%f(这是批处理的语法规则),命令如下:
for /L %%f in (1,1,10) do (copy "cover og" "File_copy_%%f.xlsx")
额外小提示
记得确认"cover og"这个文件名是正确存在的,没有拼写错误或者路径问题,否则copy命令执行时会提示找不到文件哦。
备注:内容来源于stack exchange,提问作者Marina J
相关产品推荐
相关产品推荐

