Batch file 批量复制不同文件夹中的多个文件,其路径列在txt文件中,并重命名所有重复文件
我几天来一直试图解决这个问题,但都没有结果。我没有任何编程经验,这个任务让我发疯 我有一个txt文件,其中包含需要复制的文件的路径列表。此文件中大约有8000个路径 复制每个项目并不是什么大事,因为我可以在每个路径之前/之后添加复制命令和目标 我的问题的关键是,这些文件中的许多文件具有相同的文件名,当它们位于不同的目录中时,这不是问题 然而,我需要在同一个目标文件夹中的所有文件,它不断覆盖自己 总之,我有一个.txt文件,基本上如下所示:Batch file 批量复制不同文件夹中的多个文件,其路径列在txt文件中,并重命名所有重复文件,batch-file,cmd,copy,batch-rename,Batch File,Cmd,Copy,Batch Rename,我几天来一直试图解决这个问题,但都没有结果。我没有任何编程经验,这个任务让我发疯 我有一个txt文件,其中包含需要复制的文件的路径列表。此文件中大约有8000个路径 复制每个项目并不是什么大事,因为我可以在每个路径之前/之后添加复制命令和目标 我的问题的关键是,这些文件中的许多文件具有相同的文件名,当它们位于不同的目录中时,这不是问题 然而,我需要在同一个目标文件夹中的所有文件,它不断覆盖自己 总之,我有一个.txt文件,基本上如下所示: D:\Big folder\Folder\Subfold
D:\Big folder\Folder\Subfolder a\filea.file
D:\Big folder\Folder3\Subfolder za\filek.file
D:\Big folder\Folder\Subfolder ds\filed.file
D:\Big folder8\Folder\Subfolder p\filea.file...
我需要一些工具,让我把所有这些文件复制到一个目标文件夹,并确保任何重复的重命名,使他们不会被覆盖
使filea.file和filea.file成为filea.file和filea1.file
编辑:到目前为止,我已经想出了
FOR /F "tokens=* usebackq" %i IN (`type "C:\Users\username\Desktop\completelist.txt"`) DO COPY "%i" "E:\destination\"
它执行读取和复制作业,但不执行重命名部分将下面的脚本保存到copy.bat,从脚本目录打开Cmd提示符,然后运行bat。它对我很有效。发布准确的错误(如果有)
@echo off
setlocal enabledelayedexpansion
set file=%userprofile%\Desktop\completelist.txt
set "dest=E:\destination" & set "i=" & pushd !dest!
for /f "usebackq tokens=*" %%G in ("%file%") do (
call :rename %%~nG %%~xG %%G
copy "%%G" "%dest%\!target!" >nul )
popd
exit /b
:rename
set "target=%1!i!%2"
:loop
set /a i+=1
if exist "!target!" set "target=%1!i!%2" & goto :loop
set "i=" & echo Copied %3 to !target!
exit /b
将下面的脚本保存到Copy.bat,从脚本目录打开Cmd提示符,然后运行bat。它对我很有效。发布准确的错误(如果有)
@echo off
setlocal enabledelayedexpansion
set file=%userprofile%\Desktop\completelist.txt
set "dest=E:\destination" & set "i=" & pushd !dest!
for /f "usebackq tokens=*" %%G in ("%file%") do (
call :rename %%~nG %%~xG %%G
copy "%%G" "%dest%\!target!" >nul )
popd
exit /b
:rename
set "target=%1!i!%2"
:loop
set /a i+=1
if exist "!target!" set "target=%1!i!%2" & goto :loop
set "i=" & echo Copied %3 to !target!
exit /b
谢谢你的帮助!所有的东西都被复制了,没有任何问题。谢谢你的帮助!所有的东西都被复制了,没有任何问题