if条件を使用して複数の場所にショートカットを作成するバッチファイル

if条件を使用して複数の場所にショートカットを作成するバッチファイル

Windows 2003 マシンにショートカットを作成するバッチ ファイルがあります。使用するコマンドは次のようになります。

echo copy the shortcut to the server All Users folder for windows 2003...
xcopy "%OutputDir%%LocalOutputDir%\Shortcuts\*.*" "\\%SERVERNAME%\c$\Documents and Settings\All Users\Start Menu\Programs\Startup\*.*"

現在、新しい Windows 2008 マシンもいくつかありますが、それらのショートカット フォルダー (すべてのユーザー) のパスは異なります (C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup)。

そこで私の質問は、バッチ ファイルが 2003 の場所を見つけられない場合に、ショートカットを 2008 マシンの場所に保存するように、if 条件をどのように設定するかということです...

ありがとう!

答え1

IF <statement>  (
..
..
) ELSE (
...
...
)

....... または、3番目のパスがある場合に備えて、ELSEなしでIF文を分離する

IF exist "\\%SERVERNAME%\c$\Documents and Settings\" (
...
...
)

IF exist "\\%SERVERNAME%\C:\ProgramData\Microsoft\Windows\Start Menu\" (
...
...
) 

環境変数「」を使用/チェックアウトすることをお勧めします。ALLUSERSプロフィール「次のフォルダに自動的にアクセスできるようになります:

XP および 2000 の場合> C:\Documents and Settings\All Users
Vista/Win7/+ の場合> C:\ProgramData

ハードコードされたパスの代わりに変数を使用する場合、IF ステートメントは必要ありません...

xcopy "%OutputDir%%LocalOutputDir%\Shortcuts\*.*" "\\%SERVERNAME%\%ALLUSERSPROFILE%\Start Menu\Programs\Startup\*.*"

関連情報