ファイルからサーバーのリストを読み取り、ドライブをそれぞれにマップし、フォルダーを作成し、ファイルをそのフォルダーにコピーし、コマンドを実行して結果をフォルダーに出力し、読み取るスクリプトをまとめようとしています。新しいファイルの内容を確認し、新しいリストの各項目に対してコマンドを実行してから、ドライブのマップを解除します。
最初の 2 つの部分は機能していますが、作成された .txt ファイルから項目を読み込もうとすると、コマンドに入力する名前を取得できません。見苦しいですが、スクリプトと結果は次のとおりです (ローカルの c:\temp フォルダーから、z:\temp としてローカルにマップされたリモートの一時フォルダーに作業しています)。
- - -コード - - -
for /F "tokens=*" %%S in (servers.txt) do (
net use Z: \\%%S\c$ /USER:domain\user PASSWORD
z:
md temp
c:
cd\
cd temp
copy sdelete.exe z:\temp
wmic /NODE:"%%S" logicaldisk get name > z:\temp\disks.txt
)
for /F "tokens=*" %%D in (z:\temp\disks.txt) do (
psexec.exe \\%%S c:\temp\sdelete -z %%D
)
c:
cd temp
net use z: /delete /y
---エンドコード-----
ファイルは作成されますが、最後の部分の結果は次のようにエコーされます: C:\Temp>for /F "tokens=*" %D in (z:\temp\disks.txt) do (psexec.exe \%S c:\temp\ sdelete -z %D )
初心者として、どんな助けでも大歓迎です!ありがとう!