我想写.bat文件,我有两个文件夹,名字分别是A和B。我在A上有照片,我想每10分钟把它们从A转移到B,但我想转移最后20张照片。图片名称为1.jpg 2.jpg、、、90.jpg我该怎么做?有可能吗?
感谢
@ECHO OFF
SETLOCAL
SET "sourcedir=c:sourcedir"
SET "destdir=c:destdir"
SET /a numbertomove=20
FOR /f "tokens=1*delims=:" %%a IN (
'dir /b /a-d /o-d "%sourcedir%*.jpg"^|findstr /n "."'
) DO (
IF %%a leq %numbertomove% ECHO MOVE "%sourcedir%%%b" "%destdir%"
)
GOTO :EOF
所需的MOVE命令仅用于测试目的的ECHO
验证命令正确后,将ECHO MOVE
更改为MOVE
以实际移动文件。附加>nul
以抑制报告消息(例如1 file moved
(
已编辑以删除自调度。
移动您可以使用的文件:
for /l %%i in (71,1,90) do move a%%i.jpg b%%i.jpg
有关将任务安排为每10分钟运行一次的信息,请参阅schtasks /create /?
。有很多选择,根据您的需要收集它们。
如果你第一次这样做,要获得正确的语法有点令人困惑,所以如果你知道的话,你可能不得不问一个新问题,你想使用哪些选项。
(注意:要在命令行(非批处理(上使用for
构造,请使用单个%
而不是%%
(