你好!我需要一个批处理复制文件代码,麻烦赐教!

2025-03-23 04:41:53
推荐回答(3个)
回答1:

@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

回答2:

复制粘贴到记事本,另存为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

回答3:

用vbs可以解决你的问题,这个你要学习一下的