J'ai besoin de supprimer tous les bin
& obj
dossiers d'un dossier sur mon PC. Donc, je pense à un fichier batch pour le faire, mais je ne suis pas familier avec le fichier batch dans Windows. Veuillez aider.
[Modifier]
Après discussion avec l'utilisateur DMA57361
, je suis arrivé à la solution actuelle (j'ai toujours un problème, voir nos commentaires):
Créez un fichier .bat et collez la commande ci-dessous:
start for /d /r . %%d in (bin,obj) do @if exist "%%d" rd /s/q "%%d"
OU
start for /d /r . %%d in (bin,obj) do @if exist "%%d" rd /s "%%d"
@ DMA57361: Lorsque j'exécute votre script, j'obtiens l'erreur ci-dessous. Une idée?
windows-7
command-line
batch-file
Nam G VU
la source
la source
for \/d \/r ...
- pourquoi les doubles barres obliques au lieu defor /d /r ...
? Et exécuter la version "complète" avec/q
à la fin - comme je le dis - supprime tout sans avertissement donc ne renvoie aucune sortie (c'est-à-dire qu'il ne vous dit pas quand cela fonctionne, seulement quand il a une erreur), êtes-vous sûr que le deuxième exécuter ci-dessus n'a pas fonctionné correctement?for / %d in
et nonfor /d /r . %d in
- vous devez utiliser la commande entière ci-dessous, chaque bit a une fonction différente et est important.start
et voyez ce qui se passe. Pas idéal, mais je me demande si cela peut aider.Réponses:
Cela a déjà été répondu sur Stack Overflow, d'où je tire l'essentiel de cette réponse.
Essayez la commande suivante, vous pouvez l'exécuter depuis l'intérieur
cmd
:Si vous avez besoin que d'autres dossiers soient modifiés, ajoutez simplement de nouveaux éléments à l'
(bin,obj)
ensemble au milieu de la commande.Cela supprimera tout ce qui correspond sans avertissement et sans utiliser la corbeille - donc, si vous voulez un peu plus de sécurité, supprimez
/q
l'appel derd
à la fin, et le système devrait vous demander avant chaque suppression.Si vous avez l'intention d'exécuter la commande à partir d'un fichier de commandes , vous devrez remplacer chaque instance de la variable
%d
par%%d
, comme ceci:Selon la conversion avait dans la question des commentaires
Si la commande refuse de s'exécuter dans un fichier de commandes (impossible de répliquer ici), essayez de préfixer la commande avec
start
. Bien que cela démarre le processus pour s'exécuter simultanément avec le fichier de commandes, ce qui peut entraîner d'autres problèmes, il semble plus susceptible de fonctionner correctement.En outre, si vous avez des fichiers nommés
obj
oubin
dans l'arborescence de dossiers sur laquelle la commande fonctionne, vous recevrez un message d'erreur pour chaque fichier rencontré portant un nom correspondant. Ces fichiers correspondants ne sont pas supprimés et ne devraient pas gêner la commande en supprimant ce qu'ils devraient. En d'autres termes, ils peuvent être ignorés en toute sécurité.la source
Ces commandes devraient fonctionner sur cmd.
del * .obj
del * .bin
la source
Fais juste
la source