
Wir haben eine Batchdatei, die Verknüpfungen auf Windows 2003-Rechnern erstellt. Der Befehl, den wir verwenden, lautet etwa:
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\*.*"
Jetzt haben wir auch einige neue Windows 2008-Maschinen und deren Pfad des Verknüpfungsordners (ALLE BENUTZER) ist anders (C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup).
Meine Frage lautet also: Wie legen wir eine IF-Bedingung fest, sodass die Verknüpfung am Speicherort der Maschine von 2008 gespeichert wird, wenn die Batchdatei den Speicherort von 2003 nicht findet …
Danke!
Antwort1
IF <statement> (
..
..
) ELSE (
...
...
)
....... oder separate IF-Anweisungen ohne ELSE, falls es einen dritten Pfad gibt
IF exist "\\%SERVERNAME%\c$\Documents and Settings\" (
...
...
)
IF exist "\\%SERVERNAME%\C:\ProgramData\Microsoft\Windows\Start Menu\" (
...
...
)
Sie möchten möglicherweise die Umgebungsvariable "ALLE BENUTZERPROFIL" Sie erhalten automatisch Zugriff auf die folgenden Ordner:
unter XP und 2000> C:\Dokumente und Einstellungen\Alle Benutzer
unter Vista/Win7/+> C:\ProgramData
wenn Sie die Variable anstelle des fest codierten Pfads verwenden, brauchen Sie die IF-Anweisung nicht ...
xcopy "%OutputDir%%LocalOutputDir%\Shortcuts\*.*" "\\%SERVERNAME%\%ALLUSERSPROFILE%\Start Menu\Programs\Startup\*.*"