Comment créer un fichier de commandes pour renommer un dossier lorsque je lance un programme? - Disons que je veux commencer mon word.exe, en même temps , je dois renommer un dossier c:\users\my profile\my word documents
pour être my documents
et quand je le existais word.exe
du lot Renommez le dossier à son nom d' origine.
- édité plus tard--
voici ce que je dois faire
- démarrer le programme
- attendez que le programme soit complètement chargé
- renommer le dossier
- le programme attend jusqu'à ce que je le ferme
- quand je suis sur le point de fermer le programme, il ne doit pas fermer (attendre) jusqu'à ce que le lot renomme le dossier
- fermer le programme
Task Manager
>Processes
.start "rename" cmd.exe /c sleep.exe 500 ren "dir1" "dir2"
. Mais, je ne pense pas que vous puissiez renommer les dossiers avant que Word ne soit terminé sans écrire un plugin / une extension Word. Ou, sans utiliser quelque chose comme AutoHotkey ou AutoIt, où Alt + F4 est intercepté par AHK, qui à son tour a renommé les répertoires puis a quitté Word. (Démarrer Word à partir d'un raccourci utilisant AHK permettrait également de renommer beaucoup plus précisément les répertoires ..)Réponses:
Utilisez simplement l' instruction CALL pour indiquer au script de traitement par lots d'attendre pendant que le programme est ouvert:
Ne fermez pas la fenêtre de lot vous-même, sinon le dossier ne sera pas renommé par la suite. Vous pouvez réduire le risque que cela se produise en utilisant un raccourci pour exécuter le script minimisé ou en utilisant VBS pour l'exécuter en mode masqué .
Mettre à jour
Je pense que cela devrait accomplir la tâche (presque) équivalente à celle que vous aviez demandée sans tous les maux de tête. En conservant simplement les copies intermédiaires, vous devriez pouvoir réaliser ce que vous voulez vraiment (ce que nous devinons encore).
Si cela ne vous convient pas, le mieux est de créer un script VBA ou des compléments .NET au niveau de l' application, car cela ne peut pas vraiment être fait dans BATCH seul.
la source
CALL
etSLEEP
pendant un moment puis exécutez le reste du lot (ne pas avoir à attendre la fermeture du programme) peut-être que votre première solution fonctionne également.Voir ci-dessous, vous devez modifier les 4 variables pour répondre à vos besoins. Enregistrez ce code, correctement modifié, sous forme de fichier de commandes (extension .bat), puis exécutez-le à partir de la ligne de commande (ou à partir de Exécuter / Démarrer).
la source
voici une solution de contournement simple,
dans un fichier .bat:
un exemple de mon ordinateur:
lors de l'exécution du fichier .bat, le fichier est renommé et le programme démarre. Après la fermeture du programme, le prénom est réinitialisé.
BONNE CHANCE,
la source