以此为例 For statement in batch script from SO
尝试了以下
for %%f in (c:\username\desktop\Test\*.log) do (
echo %%~nf
)
我收到以下错误:%%f was unexpected at this time
我的目标是将[n]个文件从一个目录移动到另一个目录,等待[x]秒然后移动下一个[n]个文件
我可以花时间等待对未知站点执行ping操作并强制延迟或使用超时[尚未测试,因为这需要在没有任何用户干预的情况下完成]
如果有更好的方法可以做到这一点,我是开放的,因为这是我第一次尝试这种类型的脚本。
答案 0 :(得分:1)
试试这个:
@echo off
setlocal EnableDelayedExpansion
::The number of files to copy
set [n]=10
::The time to wait after copying [n] files
set $tempo=5
::Your source path
set $sourceDir="C:\your\source\path"
::Your destination path
set $DestDir="C:\your\destination\path"
set $c=1
for /f "delims=" %%f in ('dir /b/a-d %$SourceDir% *.log') do (
if !$c! equ %[n]% (
timeout %$tempo%
set $c=1
)
copy "%$SourceDir:~1,-1%\%%~nxf" %$Destdir%
set /a $c+=1
)
echo Done...
假设要测试的扩展名为.log
。如果不是,你必须改变它。