BAT - Limitation caractères
Fermé
micromega
micromega
- Messages postés
- 131
- Date d'inscription
- lundi 13 avril 2009
- Statut
- Membre
- Dernière intervention
- 12 avril 2020
micromega
- Messages postés
- 131
- Date d'inscription
- lundi 13 avril 2009
- Statut
- Membre
- Dernière intervention
- 12 avril 2020
A voir également:
- BAT - Limitation caractères
- Php limiter le nombre de caractères ✓ - Forum - PHP
- Limiter le nombre de caractère dans une cellule excel ✓ - Forum - Excel
- Traducteur sans limite de caractere - Guide
- Caractères spéciaux dans un .bat ✓ - Forum - Programmation
- Limiter nbr caractere cellule + couleur excel ✓ - Forum - Excel
3 réponses
karirovax
15 juil. 2013 à 02:10
- Messages postés
- 3211
- Date d'inscription
- dimanche 17 janvier 2010
- Statut
- Membre
- Dernière intervention
- 22 juin 2016
15 juil. 2013 à 02:10
salut
J'ai pas bien compris ce que vous voulez faire .. ??
surtout sur la ligne
for /r "%VrLetter%:\" %%j in (\TEST ICI) do if exist "%%j" rd /s /q %%j
pourquoi un \ avant le mot TEST ICI ( vous pouvez l'enlever )
for /r "%VrLetter%:\" %%j in (TEST) do if exist "%%j" rd /s /q %%j
et cela fonctionne, mais je ne sais pas si vous voulez de supprimer le dossier qui se nomme TESTE ICI ou quoi exactement ?
J'ai pas bien compris ce que vous voulez faire .. ??
surtout sur la ligne
for /r "%VrLetter%:\" %%j in (\TEST ICI) do if exist "%%j" rd /s /q %%j
pourquoi un \ avant le mot TEST ICI ( vous pouvez l'enlever )
for /r "%VrLetter%:\" %%j in (TEST) do if exist "%%j" rd /s /q %%j
et cela fonctionne, mais je ne sais pas si vous voulez de supprimer le dossier qui se nomme TESTE ICI ou quoi exactement ?
micromega
15 juil. 2013 à 17:21
- Messages postés
- 131
- Date d'inscription
- lundi 13 avril 2009
- Statut
- Membre
- Dernière intervention
- 12 avril 2020
15 juil. 2013 à 17:21
Bonjour,
Merci pour la réponse.
Le "\" : je pensais qu'il en fallait un pour indiquer le dossier. Maintenant c'est corrigé. Merci.
"TEST ICI" est le nom de mon dossier test que mon fichier bat doit trouver dans l'un des lecteurs et le supprimer.
Mon problème est que cette commande ne marche pas à tous les coups : j'ai fait plusieurs tests.
J'en déduis maintenant que lorsque le chemin comporte un espace alors il ne peut pas être effacé. Exemple tout simple :
Mon dossier "TEST ICI" placé dans C:\Program Files (x86)\Nouveau dossier\TEST ICI, ne peut pas être effacé.
Même problème sur le disque D:\Nouveau dossier\TEST ICI, ne peut pas être effacé.
Alors que si je fais : D:\Nouveaudossiersansespaces\TEST ICI le dossier est bien supprimé.
J'en déduit donc que le soucis vient des espaces dans l'arborescence du dossier, mais je ne sais pas par quel manière je peux résoudre ce problème.
Si vous avez une idée ?
Merci
Merci pour la réponse.
Le "\" : je pensais qu'il en fallait un pour indiquer le dossier. Maintenant c'est corrigé. Merci.
"TEST ICI" est le nom de mon dossier test que mon fichier bat doit trouver dans l'un des lecteurs et le supprimer.
Mon problème est que cette commande ne marche pas à tous les coups : j'ai fait plusieurs tests.
J'en déduis maintenant que lorsque le chemin comporte un espace alors il ne peut pas être effacé. Exemple tout simple :
Mon dossier "TEST ICI" placé dans C:\Program Files (x86)\Nouveau dossier\TEST ICI, ne peut pas être effacé.
Même problème sur le disque D:\Nouveau dossier\TEST ICI, ne peut pas être effacé.
Alors que si je fais : D:\Nouveaudossiersansespaces\TEST ICI le dossier est bien supprimé.
J'en déduit donc que le soucis vient des espaces dans l'arborescence du dossier, mais je ne sais pas par quel manière je peux résoudre ce problème.
Si vous avez une idée ?
Merci
karirovax
15 juil. 2013 à 17:29
- Messages postés
- 3211
- Date d'inscription
- dimanche 17 janvier 2010
- Statut
- Membre
- Dernière intervention
- 22 juin 2016
15 juil. 2013 à 17:29
Re: salut
Si j'ai bien compris tu doit ajouter les deux "" sur le variable %%J
for /r "%VrLetter%:\" %%j in (TEST ICI) do if exist "%%j" rd /s /q "%%j"
l'essayez sinon je vais l'essayer plus tard :)
Si j'ai bien compris tu doit ajouter les deux "" sur le variable %%J
for /r "%VrLetter%:\" %%j in (TEST ICI) do if exist "%%j" rd /s /q "%%j"
l'essayez sinon je vais l'essayer plus tard :)
karirovax
15 juil. 2013 à 17:55
- Messages postés
- 3211
- Date d'inscription
- dimanche 17 janvier 2010
- Statut
- Membre
- Dernière intervention
- 22 juin 2016
15 juil. 2013 à 17:55
Re:
Cela fonctionne pour le problème d'espacement:
for /r "%VrLetter%:\" %%j in ("TEST ICI") do if exist %%j rd /s /q %%~fsj
je met %%~fsj pour les noms de chemin complet avec noms courts uniquement
j'ai créé des dossiers chacun prennent le nom TEST ICI et j'applique la dernière commande et ça marche :D
Cela fonctionne pour le problème d'espacement:
for /r "%VrLetter%:\" %%j in ("TEST ICI") do if exist %%j rd /s /q %%~fsj
je met %%~fsj pour les noms de chemin complet avec noms courts uniquement
j'ai créé des dossiers chacun prennent le nom TEST ICI et j'applique la dernière commande et ça marche :D
micromega
15 juil. 2013 à 19:05
- Messages postés
- 131
- Date d'inscription
- lundi 13 avril 2009
- Statut
- Membre
- Dernière intervention
- 12 avril 2020
15 juil. 2013 à 19:05
Ca marche beaucoup mieux déjà (disque D et racine disque C > OK).
Dernier problème : Avec C:\Program files (x86) et C:\Programmes.
Le dossier dans ces répertoires n'est pas effacé (même si j'exécute avec les droits administrateur).
Une idée là dessus ?
Dernier problème : Avec C:\Program files (x86) et C:\Programmes.
Le dossier dans ces répertoires n'est pas effacé (même si j'exécute avec les droits administrateur).
Une idée là dessus ?
karirovax
15 juil. 2013 à 19:09
- Messages postés
- 3211
- Date d'inscription
- dimanche 17 janvier 2010
- Statut
- Membre
- Dernière intervention
- 22 juin 2016
15 juil. 2013 à 19:09
Re:
Je crois que vous venez de supprimer un dossier non vide et qui contient un fichier qui est ouvert peut être ???
Je crois que vous venez de supprimer un dossier non vide et qui contient un fichier qui est ouvert peut être ???
micromega
15 juil. 2013 à 19:33
- Messages postés
- 131
- Date d'inscription
- lundi 13 avril 2009
- Statut
- Membre
- Dernière intervention
- 12 avril 2020
15 juil. 2013 à 19:33
Non, même sans fichier dans le dossier "TEST ICI" placé dans C:\program files (x86), il n'est pas effacé.
Cela fonctionne de votre côté ?
Cela fonctionne de votre côté ?
micromega
15 juil. 2013 à 18:02
- Messages postés
- 131
- Date d'inscription
- lundi 13 avril 2009
- Statut
- Membre
- Dernière intervention
- 12 avril 2020
15 juil. 2013 à 18:02
for %%i in (A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W ,X,Y,Y,Z) do (
if exist "%%i:\" set VrLetter=%%i& call :search %%i
)
goto FinBoucle
:search
for /r "%VrLetter%:\" %%j in ("TEST ICI") do if exist "%%j" rd /s /q "%%j"
goto :eof
:FinBoucle
Cela ne fonctionne pas. Mais je pense que c'est un problème de guillemets, mais il faut trouver où...
Merci
if exist "%%i:\" set VrLetter=%%i& call :search %%i
)
goto FinBoucle
:search
for /r "%VrLetter%:\" %%j in ("TEST ICI") do if exist "%%j" rd /s /q "%%j"
goto :eof
:FinBoucle
Cela ne fonctionne pas. Mais je pense que c'est un problème de guillemets, mais il faut trouver où...
Merci
karirovax
15 juil. 2013 à 18:48
- Messages postés
- 3211
- Date d'inscription
- dimanche 17 janvier 2010
- Statut
- Membre
- Dernière intervention
- 22 juin 2016
15 juil. 2013 à 18:48
Re:
La dernière commande fonctionne très très bien chez moi, je l'utilise sur le Bureau ( C:\Documents and Settings\karirovax\Bureau\aa\a\TEST ICI\ ) et le dossier est supprimé sans problème :)
for /r "%VrLetter%:\" %%j in ("TEST ICI") do if exist %%j rd /s /q %%~fsj
La dernière commande fonctionne très très bien chez moi, je l'utilise sur le Bureau ( C:\Documents and Settings\karirovax\Bureau\aa\a\TEST ICI\ ) et le dossier est supprimé sans problème :)
for /r "%VrLetter%:\" %%j in ("TEST ICI") do if exist %%j rd /s /q %%~fsj