Éviter d'écraser un fichier en utilisant cmd s'ils existent
Je suis actuellement à la rédaction d'un .bat fichier de commandes qui exécute un fichier d'installation. Avant d'exécuter le fichier d'installation de l'-je vérifier pour voir si le répertoire existe pour éviter la ré-installation de l'application.
Je le fais à l'aide d'un If Not Exist filename
déclaration. Si le fichier n'existe pas, je puis exécuter le fichier d'installation.
Pour une raison quelconque, quand je l'ai tester avec l'application où il a été déjà installé, il est encore en train d'essayer de réinstaller l'application sur elle.
Voici un extrait de mon code:
cd "C:\Documents and Settings\John\Start Menu\Programs\"
pause
If NOT exist "Software Folder"\ (
start \\filer\repo\lab\"software"\"myapp"\setup.exe
pause
)
Où SoftwareFolder
est un sous-répertoire de "C:\Documents and Settings\John\Start Menu\Programs\".
je suis de la vérification pour voir si elle existe dans mon Programs
dossier.
Je sais qu'elle n'est pas ma start
de commande. J'ai un sentiment que quelque chose est incorrect avec mon début CD
de commande ou de l'un de ses paramètres.
Merci beaucoup les gars!
Vous devez vous connecter pour publier un commentaire.
Utiliser le chemin COMPLET vers le dossier de votre S'il n'Existe Pas de code. Ensuite, vous n'aurez même pas de CD plus:
J'ai remarqué quelques problèmes avec ce qui pourrait être utile pour quelqu'un qui commence juste, ou un peu inexpérimenté utilisateur, pour savoir. D'abord...
deux choses l'une, c'est que a /D après le CD peut s'avérer utile pour assurer que le répertoire est changé, mais ce n'est pas vraiment nécessaire, deuxièmement, si vous vous apprêtez à passer ce d'utilisateur à utilisateur, vous devez ajouter, à la place de votre nom, le code %username%, ce qui rend le code utilisable sur n'importe quel ordinateur, tant qu'ils ont de votre setup.exe fichier dans le même emplacement que vous faites sur votre ordinateur. bien sûr, s'assurant de ce qui est plus difficile.
aussi...
le code de départ ici, peut être mis en place comme ça, mais la syntaxe correcte est
Cela va démarrer: setup.exe situé dans: \filter\repo\lab...etc.\
Comme dans la réponse de Escobar Ceaser, je suggère d'utiliser des guillemets autour du chemin d'accès complet. C'est la façon la plus commune pour envelopper tout le chemin dans "", non seulement les noms de répertoire dans le chemin.
J'ai eu un problème similaire, il n'a pas de travail pour moi. Mais il n'était pas une option pour utiliser "" dans le chemin d'accès de répertoire distinct des noms, parce que le chemin contenu des variables d'environnement, dont le contenu couvre plus d'une hiérarchie de répertoires. La conclusion a été que j'ai raté l'espace entre la clôture " et le (
La version correcte, avec de l'espace avant la parenthèse, serait