batch-Datei, um zu prüfen Existenz-Verzeichnis, wenn nicht vorhanden, dann verwenden, Alternatives Verzeichnis für die Datei kopieren

Bin ich zu schreiben versucht, eine batch-Datei, kopiert die exe-Datei von einem Speicherort im Netzwerk auf einen lokalen Speicherort. Es funktioniert derzeit aber je nach windows-version (xp oder win7) der Nutzer hat die richtigen auszuwählen .bat-Datei, die durch unterschiedliche lokale Pfade benötigt für die Kopie. (Sie gehen in den Autostart-Ordner ausgeführt werden jedes mal, wenn Benutzer startet die Maschine). Dies ist das erste mal, dass ich gearbeitet habe, mit dem schreiben von batch-Dateien, und bin völlig verloren, wenn man die syntax für if-Anweisungen. Wenn ich könnte etwas Hilfe herauszufinden dieses heraus, es wäre toll.

Hier ist, was ich derzeit habe, das funktioniert für XP:

    REM @ECHO OFF

    ECHO STARTING MOVEFILES

    SET EXITRC=0
    SET EXITMSG=EXITRC INITIALIZED
    ECHO %EXITRC% -- %EXITMS

    COPY "\\networkDrive\install\Individual\program\MOVEFILES.EXE" "C:\DOCUMENTS AND SETTINGS\ALL USERS\START MENU\PROGRAMS\STARTUP\"

    ECHO COPIED FILES TO YOUR PC  
    SET EXITRC=%ERRORLEVEL%
    IF NOT %EXITRC% == 0 GOTO :EXIT

    SET EXITMSG=PROCESSING COMPLETE

    :EXIT 
    ECHO STEP: %EXITMSG%  RC: %EXITRC%
    ECHO FINISHING MOVEFILES 
    PAUSE

    EXIT %EXITRC%

Hier ist was ich habe für Windows 7:

    @ECHO OFF

    ECHO STARTING MOVEFILESWIN7

    SET EXITRC=0
    SET EXITMSG=EXITRC INITIALIZED
    ECHO %EXITRC% -- %EXITMS

    COPY "\\networkDrive\install\Individual\program\MOVEFILES.exe" "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup"

    ECHO COPIED MOVEFILESWIN7 TO YOUR PC - All Users /Public Startup folder
    SET EXITRC=%ERRORLEVEL%
    IF NOT %EXITRC% == 0 GOTO :EXIT

    SET EXITMSG=PROCESSING COMPLETE

    :EXIT 
    ECHO STEP: %EXITMSG%  RC: %EXITRC%
    ECHO FINISHING MOVEFILESWIN7 

    PAUSE
    EXIT %EXITRC%

Möchte ich nur eine batch-Datei für beide Szenarien gibt es also keine Verwirrung der Benutzer auf die batch-Datei ausgeführt werden.

Übrigens, es ist Haufen leichter zu Lesen, batch-Skripte, wenn Sie Kleinbuchstaben. Die Skripte sind nicht case-sensitive, also ist es okay. Verwenden Sie einfach all-caps für Umgebungsvariablen oder andere Suchbegriffe wie NOT.
gut zu wissen!! Danke! Ich werde zu ändern, dass in meinem code jetzt. Ich bin immer noch versuchen, herauszufinden, wie man die copy-Anweisungen innerhalb einer if-Anweisung. Zum Beispiel: WENN (win7 Verzeichnis existiert) zu kopieren win7 Verzeichnis; else Kopie der XP-Verzeichnis. Oder etwas entlang jenen Linien.
Warum wird dieser immer nach unten-gewählt? Wenn Sie diese Frage hilfreich Bitte Bis-Abstimmung die Frage aber nicht nach Unten Stimmen, ohne einen Kommentar oder eine Anregung zur Verbesserung. Das ist nonconstructive.

InformationsquelleAutor SteveAnselment | 2013-07-10

Schreibe einen Kommentar