用于复制和重命名文件的批处理脚本

时间:2014-07-29 21:53:19

标签: batch-file batch-rename

我需要批处理脚本将所有文件从一个目录复制到另一个目录,并将它们全部重命名为默认名称(例如NAME54.pdf)并继续从目标的名称最大数字开始计数。 我写了一些脚本,但似乎没有用:

@echo on
D:

set count=0
for %%a in (scans1\*.*) do (
set /a count+=1
)

set count1=0
for %%b in (scans\*.*) do (
set /a count1+=1
)

for /l %%c in (1,1,%count1%) do (
set /a count+=1
copy D:\scans\*.* D:\scans\NAME%count%.pdf
)

pause

1 个答案:

答案 0 :(得分:0)

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET "sourcedir=U:\sourcedir"
SET "destdir=U:\destdir"
SET /a count=0
for %%c in (%sourcedir%\*.*) do (
 CALL :select
 ECHO copy "%%c" "%destdir%\NAME!count!.pdf"
)

GOTO :EOF

:select
SET /a count+=1
IF EXIST "%destdir%\NAME%count%.pdf" GOTO select
GOTO :eof

我已经设置了不同的源和目标目录。您需要更改这些名称以适合您的具体情况。

我已选择简单ECHO所需的copy命令,以便您可以查看生成的命令。您需要将ECHO copy更改为copy才能实际执行命令。

如果您将>nul附加到copy命令,1 file(s) copied响应将被取消。