0

私はこれを機能させることができないようです。ファイルが含まれる一連のフォルダーを調べて、リスト.txtで指定されたフォルダーに移動するには、バッチファイルが必要です。

基本的には、次のことをしたい: sample 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 (最初の列はフォルダー名、2 番目はファイル名):

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 に答える