可用的方法,AFAIK:在执行此工作的Windows 7上创建一个* .bat文件。无法安装任何其他程序。
假设我们有一个包含一些文件的文件夹。我有一个列表,其中每个文件都根据文件名与ID关联。
现在,我需要基于该列表将这些文件复制到具有关联ID作为文件名的位置。
示例:
文件夹中的文件
10.txt 11.txt 12.txt
列表:
10 83 11 49 12 94
结果应为:
10.txt → 83.txt 11.txt → 49.txt 12.txt → 94.txt
答案 0 :(得分:1)
您的问题未指定是要所有文件,特定文件还是列表文件是否也包含文件扩展名,因此,我将仅使用您的示例:
@echo off
for /f "tokens=1,*" %%i in (list.txt) do (
if exist "%%i.txt" %%j copy /Y "%%i.txt" "%%j.txt"
)
您可能想添加/Y
以禁止提示覆盖文件。但是,如果您不想覆盖,并且也许在以后的某个阶段,可能需要将源文件的内容附加到现有的新文件中,那么可以检查目标文件是否存在,然后附加:
@echo off
for /f "tokens=1,*" %%i in (list.txt) do (
if exist "%%i.txt" if not exist "%%j.txt copy "%%i.txt" "%%j.txt"
if exist "%%j.txt" type "%%i.txt">>"%%j.txt"
)