Answers:
这可以用好旧的完成for
:
for /r C:\Folder %f in (*.png) do @copy "%f" C:\png
没有什么花哨。
%f
它的用途是什么?
f" was unexpected at this time
。更改%f
到%%f
工作。但是,我在批处理文件中运行此命令:如果在命令行而不是在批处理程序中使用FOR命令,请仅使用一个百分号:%G代替%% G。 ss64.com/nt/for.html
for
会对两种不同d
的事物感到困惑%~dd
。该for
文档建议对变量使用大写字母以避免混淆,但我认为替换仍然可以与变量名称区分开。
如果您安装了cygwin,则可以找到以下工作:
cp `find /cygdrive/c/folder/* -name '*png'` /cygdrive/c/png/
(尽管如果任何文件名中都包含空格,那将会带来麻烦-尽管您会发现该find
命令的某些变体在所有情况下都可以使用)
如果您运行的是Vista,2003或2008,则不太灵活但仍有用的“ forfiles”是您的朋友。就像是:
FORFILES /P c:\folder\ /M *.png /S /C "cmd /c copy @file c:\png\"
注意:我没有测试以上任何一个命令,但是从理论上讲它们应该可以工作...