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