Supprimer un espace dans un nom de fichier

Supprimer un espace dans un nom de fichier - Divers - Programmation

Marsh Posté le 21-07-2006 à 22:37:37    

Hello,
 
Au boulot, on vient d'acheter ProE (modeleur 3D) pour remplacer notre vieux autocad 97.
 
Seul petit souci, c'est qu'il n'autorise pas les espaces dans les fichiers.
 
Tout nos dessins sont dans un seul repertoire et sont du type "XXXX XXX.dwg"
 
Comme ProE autorise les "_", j'aimerai renommé tout nos anciens dessins en "XXXX_XXX.dwg". J'ai essayer avec une fichier bat mais je suis pas assez calé pour ca...
 
Exemple:
 
Actuellement:
 
2212 312.dwg
2212 438.dwg
2372 008.dwg
2212_315.prt
2372_015.prt
 
Futur:
 
2212_312.dwg
2212_315.prt
2212_438.dwg
2372_008.dwg
2372_015.prt
 
Si quelqu'un pouvait me donner la ligne de commande, ca serait bien...
 
MerCHi
 
 
 
 
 
 
 
 

Reply

Marsh Posté le 21-07-2006 à 22:37:37   

Reply

Marsh Posté le 21-07-2006 à 23:19:38    

Ant Renamer :o
tu glisse le repertoire dedans
et tu créés ta règle de renommage :o

Reply

Marsh Posté le 22-07-2006 à 01:31:07    

Sinon, en batch :
set VAR=%VAR:str1=str2%
 
set /?
pour plus d'infos.

Reply

Marsh Posté le 13-08-2006 à 00:17:32    

wackevat a écrit :

Sinon, en batch :
set VAR=%VAR:str1=str2%
 
set /?
pour plus d'infos.


Peux-tu expliquer d'avantage, stp?
Je cherche comme lui à supprimer les espaces dans le nom des fichiers en masse.
Merci d'avance.

Reply

Marsh Posté le 13-08-2006 à 00:41:32    

Est-ce que tu as les connaissances de base en batch ? Avec les commandes Windows ?

Reply

Marsh Posté le 13-08-2006 à 01:01:54    

Oui un peu.

Reply

Marsh Posté le 13-08-2006 à 01:07:44    

à vérifier mais un bête ren * *.* *_*.* ça suffirait pas ?


Message édité par Sh@rdar le 13-08-2006 à 01:08:07

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 13-08-2006 à 01:32:25    

--> Sh@rdar : non, ça ne risque pas de marcher ;)
 
--> Sethide :
Si tu t'y connais : il faut récupérer la liste des fichiers, puis pour chacun, récupérer son nom dans une variable, et appliquer la commande set comme indiqué sur cette variable et enfin, effectuer le renommage.
 
for /?
et
set /?  
pour plus d'infos.

Reply

Marsh Posté le 13-08-2006 à 02:39:07    

@REM ------- BEGIN demo.cmd ----------------
@setlocal
@echo off
for /F %%i in ('dir /b *.jar') do echo "%%i"
 
REM ------- END demo.cmd ------------------
 
Le probleme que j'ai, c'est que le nom des fichiers est tronqué déjà dans la variable.

Reply

Marsh Posté le 13-08-2006 à 09:37:06    

wackevat a écrit :

--> Sh@rdar : non, ça ne risque pas de marcher ;)


 
explique stp ;)


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 13-08-2006 à 09:37:06   

Reply

Marsh Posté le 13-08-2006 à 11:06:52    

Sethide a écrit :

for /F %%i in ('dir /b *.jar') do echo "%%i"
Le probleme que j'ai, c'est que le nom des fichiers est tronqué déjà dans la variable.


Regarde l'aide de for, section qui parle des tokens et des délimiteurs.
 

Sh@rdar a écrit :

explique stp ;)


Bah, il n'y a rien à expliquer, la syntaxe est simplement mauvaise.
 
L'interpréteur de commandes considère que tu donnes 3 paramètres, alors que la commande rename en requiert deux, un espace étant utilisé comme séparateur de la commande des arguments et entre les arguments.

Reply

Marsh Posté le 13-08-2006 à 11:50:08    

ah ok (je voyais pas pourquoi ça aurait déconné)
 
edit : sinon pour info avec un path complet délimité et des ? (si l'espace est toujours au même endroit, sinon on peut rajouter une boucle) ça fonctionne
 

Code :
  1. ren "c:\test\????? *.*" ?????_*.*


Message édité par Sh@rdar le 13-08-2006 à 11:52:19

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 13-08-2006 à 12:01:37    

Je n'ai pas réussi à utiliser correctement le command set dans le ': do_rar' mais mon but final est atteint.
 

Code :
  1. @REM ------- BEGIN demo.cmd ----------------
  2. @setlocal
  3. @echo off
  4. set path="C:\Program Files\WinRAR\";%path%
  5. for /F "tokens=*" %%i in ('dir /b *.wav') do call :do_rar "%%i"
  6. goto :eof
  7. :do_rar
  8. echo %1
  9. rar a %1.rar %1
  10. del %1
  11. popd
  12. REM ------- END demo.cmd ------------------


 
Merci beaucoup


Message édité par Sethide le 13-08-2006 à 12:02:08
Reply

Marsh Posté le 13-08-2006 à 13:15:29    

Pour info, on ne met pas d'espaces dans :
set PATH=
;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed