0

スクリプト形式のテキスト ファイルに入力しているコンピューター名のリストがあり、テキスト ファイルをデスクトップにコピーしたいワークステーションごとに、天気をログに記録したり、コピーが成功したかどうかを記録したりします。別のテキスト ファイルです。現在、読み取りファイルに 2 つのワークステーション名があり、1 つは接続可能で、もう 1 つは接続可能ではなく、ログ ファイルに 1 つしか返されず、ワークステーション名が入力されていません。

SET COPIED=successful
SET WORKSTATION=XL
FOR /F %%X IN (workstations2.txt) DO copy /Y physicians.txt "\\%%X\C$\Documents and settings\All users\Desktop\physicians.txt"
SET WORKSTATION=%%X
IF ERRORLEVEL 1 SET COPIED="not successful"
Echo %Date% %Time% File Copy %COPIED% to %WORKSTATION% >> Logfile.txt
@echo Completed.
pause

ここに私のログファイルからの出力があります

Tue 02/19/2013 14:02:42.74 File Copy successful to %X 
4

1 に答える 1

0

なぜそのような設定ワークステーションなのかわかりませんが、これは私にとってはうまくいきます

ループの大部分を囲む括弧に注意してください

SET COPIED=successful
FOR /F %%X IN (workstations2.txt) DO (
    echo copy /Y physicians.txt "\\%%X\C$\Documents and settings\All users\Desktop\physicians.txt"
    IF ERRORLEVEL 1 SET COPIED=not successful
    Echo %Date% %Time% File Copy %COPIED% to %%X >> Logfile.txt
)
@echo Completed.
pause
于 2013-02-19T20:27:39.943 に答える