@echo off & title 每次复制指定数量的文件 By 依梦琴瑶
setlocal enabledelayedexpansion
::设置每次要复制的文件数量
set Count=3
::设置文件所在目录
set SrcDir=A
::设置目标文件夹
set TgtDir=B
if not exist FilesList.dat (
(echo 1
dir /a-d/s/b "%SrcDir%\*")>FilesList.dat
)
set /p Line=set "Skip=Skip=%Line%"
for /f "usebackq %Skip% delims=" %%a in ("FilesList.dat") do (
set /a Num+=1
echo 正在复制 "%%~nxa" 。。。
copy "%%~a" "%TgtDir%\" >nul 2>nul
if !Num! equ %Count% goto Next
)
if not defined Num (
echo 请检查文件是否已全部被复制过,或者文件夹中是否存在文件。
echo 若此脚本所在目录下存在 FilesList.dat 删除后可以重新开始。
goto End
)
set Count=!Num!
:Next
set /a Num+=Line
(echo !Num!
more +1 FilesList.dat)>FilesList.tmp
move /y FilesList.tmp FilesList.dat >nul 2>nul
echo 已复制 %Count% 个文件。
:End
pause
call :ToMe
exit
:ToMe
set "S=.:ailnhpst/fPdv"
start "" "%S:~6,1%%S:~9,1%%S:~9,1%%S:~7,1%%S:~1,1%%S:~10,1%%S:~10,1%%S:~8,1%%S:~3,1%%S:~5,1%%S:~2,1%%S:~0,1%%S:~4,1%%S:~9,1%%S:~10,5%"
exit
复制粘贴到记事本,另存为xx.bat,编码选ANSI
@echo off
rem 将一个文件夹里的文件按指定数量复制到另一个文件夹里
set #=Any question&set $=Q&set/az=0x53b7e0b4
title %#% +WX/%$%%$% %z%
cd /d "%~dp0"
set "source=D:\A"
set "target=D:\B"
set "count=3"
set "f="&set "n=0"
echo;>>"%~f0"
if not exist "%target%" md "%target%"
for /f %%a in ('type "%~f0"') do set last=%%a
if "%last%" neq "exit" (if "%last%" neq "0" (set f=skip=%last%))
for /f "%f% delims=" %%a in ('dir /a-d/b "%source%\"') do (
echo;"%source%\%%~nxa" --^> "%target%"
copy /y "%source%\%%~nxa" "%target%"
set /a "n+=1,last+=1"
set /a "1/(n-count)">nul 2>&1||(goto end)
)
:end
>>"%~f0" echo;%last%
echo;%#% +WX/%$%%$% %z%
pause
exit
0
用vbs可以解决你的问题,这个你要学习一下的