0

我似乎无法让它工作。我需要一个批处理文件来遍历一堆包含文件的文件夹,并将它们移动到列表.txt 中指定的文件夹中。

基本上我希望它执行以下操作:示例 list.txt

folder1 file1
folder2 file1

并解析它,以便我可以:

copy C:\folder1\file1*.txt to destination folder
copy C:\folder2\file1*.txt to destination folder
etc

这是我到目前为止所拥有的:

主程序:

echo off
set lines=0

for /f "tokens=1 delims=" %%a in (%CD%\list.txt) do (
                echo %%a
                echo 1 %SN% from EEN %EEN%               
                call :first %%a
                echo 2 %SN% from EEN %EEN%               
                call :second %%a
                echo 3 %SN% from EEN %EEN%               
                set /a lines+=1
)

echo %lines%
pause
goto :eof

:first
set EEN=%1
goto :eof

:second
set SN=%2
goto :eof

pause

list.txt(第一列是文件夹名,第二列是文件名):

DM5V37H WMC1F0077774
DM5V37H WMC1F0077711
DM5V37H WMC1F0086480
DM5V37H WMC1F0086372
DM5V37H WMC1F0077655
DM5V37H WMC1F0077770

我究竟做错了什么?

4

1 回答 1

0

我不确定您对 SN 和 EEN 的引用,但我刚刚对此进行了测试,它似乎有效。第一部分演示如何访问从文件中读取的行中的每个项目,然后执行实际的移动操作。我相信您可以根据需要对其进行修改。

@echo off
set lines=0

for /f "tokens=1,2 delims= " %%a in (list.txt) do echo %%a %%b&set /a lines+=1
echo Number of lines: %lines%

:: Perform move operation.  
for /f "tokens=1,2 delims= " %%a in (list.txt) do (
if not exist %%a (md %%a)
move "%%b" "%%a\%%b"
)
于 2012-10-23T18:05:29.220 回答