我是Windows命令行的初学者,因此我对此基本问题表示歉意。这是对问题和答案的跟进。https://superuser.com/a/999966/914314
FOR /R "C:\Source Folder" %i IN (*.png) DO MOVE "%i" "C:\Staging Folder"
是作为解决方案给出的,但这会找到所有带有扩展名的文件。我想移动名称中包含特定字符串的文件。我确定必须更改(* png)位,但是我无法在此处找到如何搜索字符串的方法:(
再以原始帖子的示例为例,查找所有带有字符串的文件colour
:
|parent
| |a
| | 123-colour.png
| | 123abc.png
| |b
| | 456-colour.png
| | 123abc.png
| |c
| | 789-colour.png
| | 123abc.png
应该成为
|parent
| 123-colour.png
| 456-colour.png
| 789-colour.png
| |a
| | 123abc.png
| |b
| | 123abc.png
| |c
| | 123abc.png
原始文件夹可以并且应该保留。为了清楚起见,我将它们留在示例中。
您也可以尝试使用where /r
,它在中返回完整的文件路径。"%i"
for /f tokens^=* %i in ('where /r "C:\Source Folder" *colour*.png')do move "%~i" "C:\Staging Folder"
cd /d "C:\Source Folder" & for /f tokens^=* %i in ('where /r . *colour*.png')do move "%~i" "C:\Staging Folder"
rem :: or using pushd and popd..
pushd "C:\Source Folder" & (for /f tokens^=* %i in ('where /r . *colour*.png')do move "%~i" "C:\Staging Folder") & popd
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句