fichier de commandes pour vérifier l'existence d'un répertoire s'il n'existe pas alors utiliser une autre répertoire pour la copie de fichier

Je suis en train d'écrire un fichier de commandes qui copie un fichier exe à partir d'un emplacement réseau à un emplacement local. Il travaille actuellement mais selon la version de windows (xp ou win7) l'utilisateur doit sélectionner le bon .fichier bat en raison de différents chemins locaux nécessaires pour la copie. (ils vont le dossier de démarrage pour être exécuté à chaque fois que l'utilisateur démarre la machine). C'est la première fois que j'ai jamais travaillé avec l'écriture des fichiers batch et je suis complètement perdu lorsque l'on regarde la syntaxe de if. Si je pouvais obtenir de l'aide essayant de se faire il serait grand.

Voici ce que j'ai actuellement qui fonctionne pour 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%

Voici ce que j'ai pour 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%

Je voudrais avoir un seul fichier batch qui va couvrir les deux scénarios, donc il n'y a pas de confusion pour l'utilisateur sur lequel fichier de commandes à exécuter.

Par ailleurs, il est à des tas plus facile à lire des scripts batch si vous utilisez des bas-de-casse. Les scripts ne sont pas sensibles à la casse, il est donc correct. Juste utiliser des majuscules pour les variables d'environnement ou d'autres mots clés comme NOT.
bon à savoir!! Merci! Je vais changer ça dans mon code maintenant. Je suis encore à essayer de comprendre comment mettre de la copie des déclarations à l'intérieur d'une instruction if. Par exemple: SI (win7 répertoire existe) copie de win7 répertoire; d'autre copie de XP répertoire. Ou quelque chose le long de ces lignes.
Pourquoi est-ce passer a voté? Si vous trouvez cette question utile, Veuillez-Vote de la question, mais ne pas voter sans en laissant un commentaire ou une suggestion d'amélioration. C'est nonconstructive.

OriginalL'auteur SteveAnselment | 2013-07-10