我想要一个Windows批处理代码,它将名称中仅有数字的文件从一个文件夹移动到另一个文件夹。我写了以下内容:
FOR %%c in (C:\test1\*.*) DO MOVE %%c C:\test2
这将移动所有文件,但我想移动名称中只有数字的文件(1123,12,12345是所需文件的示例,只有名字上的数字)
答案 0 :(得分:1)
for %%c in (c:\test1\*.*) do ( echo %%~nc|findstr "^[0-9]*$">nul && move "%%c" c:\test2 )
没有扩展名的回显文件名(%%~nc
),找到模式&#34; <beginning><any digit><more of them><end>
&#34;如果匹配(&&
),请移动文件。
参考:for /?
,findstr /?
编辑:(回答你的意见)
感谢您提出更多问题(移动&#34;超过一天&#34;)这非常棘手,我从中学到了很多。
这将移动昨天或之前修改过的文件:
for /f "delims=" %%i in ('forfiles /d -1 /m * ^|findstr /R "^\"[0-9]*\"$" ') do echo move "c:\test1\%%i" C:\test2
在删除echo