批处理文件,用于移动名称中只有数字的文件

时间:2015-01-16 07:38:08

标签: windows batch-file

我想要一个Windows批处理代码,它将名称中仅有数字的文件从一个文件夹移动到另一个文件夹。我写了以下内容:

   FOR %%c in (C:\test1\*.*) DO MOVE %%c C:\test2 

这将移动所有文件,但我想移动名称中只有数字的文件(1123,12,12345是所需文件的示例,只有名字上的数字)

1 个答案:

答案 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

之前仔细测试