Batch file 在bat文件中复制多个文件
我想用bat文件复制多个文件。我已经成功地完成了这个脚本Batch file 在bat文件中复制多个文件,batch-file,cmd,copy,Batch File,Cmd,Copy,我想用bat文件复制多个文件。我已经成功地完成了这个脚本 xcopy /-y "C:\Users\Robin\Desktop\bat\test1.csv" "C:\Users\Robin\Desktop\" xcopy /-y "C:\Users\Robin\Desktop\bat\test2.csv" "C:\Users\Robin\Desktop\" 我试着在一行中完成,所以我使用这个脚本 for %I in (C:\Users\Robin\Desktop\bat\test1.csv C
xcopy /-y "C:\Users\Robin\Desktop\bat\test1.csv" "C:\Users\Robin\Desktop\"
xcopy /-y "C:\Users\Robin\Desktop\bat\test2.csv" "C:\Users\Robin\Desktop\"
我试着在一行中完成,所以我使用这个脚本
for %I in (C:\Users\Robin\Desktop\bat\test1.csv C:\Users\Robin\Desktop\bat\test2.csv) do copy %I C:\Users\Robin\Desktop\
但是它不起作用。有人能纠正我的代码吗?你需要用另一个
%
来逃避%
单个%
用于表示命令行参数
for %%I in (C:\Users\Robin\Desktop\bat\test1.csv C:\Users\Robin\Desktop\bat\test2.csv) do copy %%I C:\Users\Robin\Desktop\
如果您想查看正在发生的事情,请在窗口关闭之前,暂时将
暂停
添加到批处理文件中,以查看它正在执行的操作。您的问题显示了多个文件,但您只显示了两个
这里有几个例子
您可能会侥幸逃脱:
Copy/-Y“%UserProfile%\Desktop\bat\test*.csv”“%UserProfile%\Desktop”
如果要在循环中使用通配符
从批处理文件:
@对于(“%UserProfile%\Desktop\bat\test*.csv”)中的%%A执行@Copy/-Y“%%A”“%UserProfile%\Desktop”
或从命令提示符:
(“%UserProfile%\Desktop\bat\test*.csv”)中的%A执行@Copy/-Y“%A”“%UserProfile%\Desktop”
在循环中,通配符将其限制为仅指定名称
从批处理文件:
@对于(12)中的%%A执行@Copy/-Y“%UserProfile%\Desktop\bat\test%%A.csv”“%UserProfile%\Desktop”
或从命令提示符:
(12)中%A的执行@Copy/-Y“%UserProfile%\Desktop\bat\test%A.csv”“%UserProfile%\Desktop”
在所有情况下,您仍然可以使用XCopy
,但这不是必需的,因为您没有使用它的任何功能。此外,早在Windows Vista时代,它就被RoboCopy
取代了
有关使用命令的信息,请在命令提示符下使用问号选项输入命令名,例如
Copy/?
在堆栈溢出上发布问题的一个重要部分是指定以何种方式“不工作”。如果出现错误消息,请将其复制并粘贴为问题文本。