1

複数の Windows サーバーで「A」という名前の特定のフォルダーを検索し、そのフォルダーにいくつかのファイルをコピーするスクリプトを作成したいと思います。

問題は、サーバーに多くの異なる共有ドライブがあり、そのフォルダーがそれらのいずれかにある可能性があることです。大きな for ループとその下にある多数の if ステートメントで終わります。それを行う簡単な方法があるかどうか疑問に思っています。とても有難い。

JS

これは私のスクリプトの一部で、2 つの共有ドライブのみが含まれています。

@echo off
cd /d %~dp0
setlocal EnableDelayedExpansion


for /f %%A in (serverList.txt) DO (
if exist \\%%A\S$\A ( 
robocopy  sourcefolder \\%%A\S$\A /e
) else (
if exist \\%%A\e$\A (
robocopy  sourcefolder \\%%A\e$\A /e
) else (
echo %%A has incorrect folder >> errorlog.txt
)

)

endlocal
pause
4

1 に答える 1

1

これは複数回実行するバッチ (bash ではない) だと思います。そのため、サーバーのリストを含む txt を用意する代わりに、存在する共有のリストを使用することをお勧めします。このスクリプトを適応させて、そのようなリストを生成することができます。

これが 1 回限りの便利なスクリプトであり、もっとうまくできるかどうか疑問に思っているだけの場合は、チェックをスキップして robocopy を実行できます。targetfolder が存在しないと失敗します。

于 2013-05-14T11:07:51.460 に答える