2017-05-08 2 views
0

J'ai un fichier nommé new.bat.ne peut pas répercuter la commande de suppression automatique dans un autre fichier de commandes

  1. utilisant l'écho crée un autre fichier batch "de 1.bat" et écrit le code dans ce
  2. auto supprimer commande est également ajouté dans 1.bat
  3. 1.bat est géré par start /MIN 1.bat

mon fichier principal (new.bat) est supprimé et le processus cmd sort, laissant derrière moi 1.bat que je veux supprimer.

je sais del "%~f0" & exit avec ce fichier auto batch de commande est supprimé, mais le fichier de mauvais lot est supprimé

voici mes fichiers ci-dessous

New.bat

echo echo 1 >>1.bat 
echo del "%~f0" & exit >>1.bat 
start /MIN 1.bat 

pl Aide

+0

j'ai aussi essayé cette commande, avec cela, le fichier est supprimé, mais les nouvelles fenêtres ouvertes par cmd 1.bat ne quitte pas – Prayag

+0

i besoin de quitter Thae fenêtre 2ème cmd et retour au nouveau.bat – Prayag

Répondre

1

Essayez soit:

Echo Echo 1 >>1.bat 
Echo Del "%%~f0" ^& Exit >>1.bat 
Start /MIN 1.bat 

Ou:

( Echo Echo 1 
    Echo Del "%%~f0" ^& Exit 
)>1.bat 
Start /MIN 1.bat 
+0

Superbe! ça fonctionne, merci Compo – Prayag

+0

La raison étant que dans le code original le '% ~ f0' était interprété _inside_' new.bat' et ainsi ajoutait une commande pour supprimer 'new.bat' à' 1.bat'. Le double '%%' empêche l'interprétation par la commande 'echo', de sorte que' del '% ~ f0 "' se termine par '1.bat' et quand la commande _that_ est exécutée, elle supprime correctement' 1.bat'. – TripeHound