DOS批处理器移动指定数量文件到一个临时文件夹,上传到linux服务器,并删除临时文件夹下的文件,上传需要依赖pscp.exe。
脚本如下:
@echo off&setlocal enabledelayedexpansion #将400个xml文件从M:\dockerEPG\目录下移动到M:\scpepg\tmp\目录下for /f "delims=" %%i in ('dir/a-d/b/s "M:\dockerEPG\*.xml"') do (set /a n+=1 if !n! leq 400 (move "%%i" "M:\scpepg\tmp\"))#pscp 带密码上传文件到172.28.8.81linux服务器的/mnt/EPG/目录下M:\scpepg\pscp.exe -pw itvitv M:\scpepg\tmp\*.xml root@172.28.8.81:/mnt/EPG/#删除临时文件夹下的xml文件del M:\scpepg\tmp\*.xml /f /s /q /apause
将一个文件夹文件移动到另一个文件夹,指定数量和后缀
1.@echo off&setlocal enabledelayedexpansion for /f "delims=" %%i in ('dir/a-d/b/s "D:\a\*.rar"') do (set /a n+=1if !n! leq 100 (move "%%i" "D:\b\")) pause
2.
@echo off&setlocal enabledelayedexpansion for /r "D:\a" %%i in (*.rar) do (set /a n+=1 if !n! leq 100 (move "%%i" "D:\b\")) pause
循环上传
@echo off&setlocal enabledelayedexpansionset sleep=ping 127.0.0.1 -nset /a m=1:loopecho 第%m%次循环开始...... %date% %time%set /a n=1for /f "delims=" %%i in ('dir/a-d/b/s "M:\dockerEPG\*.xml"') do (set /a n+=1 if !n! leq 500 (move "%%i" "M:\scpepg\tmp\"))M:\scpepg\pscp.exe -pw itvitv M:\scpepg\tmp\*.xml root@172.28.8.81:/mnt/EPG/del M:\scpepg\tmp\*.xml /f /s /q /aecho 第%m%次循环结束...... %date% %time%echo 休息180秒吧.....%sleep% 180 > nulset /a m+=1if "%n%" leq 16 goto looppause