
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\*.*"