A voir également:
- Vvvvvxxxxxx
- Fichier bin - Guide
- Changer extension fichier - Guide
- Renommer fichier en masse - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
6 réponses
utiliser
C:> set n=LeFameuxNomUSDuFichieret renommer chaque fichier individuellement
C:> echo %n:US=U.S.%
LeFameuxNomU.S.DuFichier
Concernant le problème de l'ajout de la date après le nom du fichier, le problème est résolu :
De plus ça ne touche pas à mon fichier .bat
Mais si on peut m'expliquer la différence avec le code du dessus, pourquoi dans un cas on ne prend pas en compte l'extension et de deux pourquoi ça s'insère après l'extension initiale je suis preneur.
@echo off
setlocal enableDelayedExpansion
for %%F in (*.pdf) do (
set "name=%%F"
ren "!name!" "!name:.pdf=_%date:~3,2%%date:~-4%.pdf!"
)
De plus ça ne touche pas à mon fichier .bat
Mais si on peut m'expliquer la différence avec le code du dessus, pourquoi dans un cas on ne prend pas en compte l'extension et de deux pourquoi ça s'insère après l'extension initiale je suis preneur.
Me revoilà
Bonjour à tous
Bon petit problème
voilà mon code :
Mon soucis, je veux comme vous pouvez le voir modifier le nom d'un fichier :
LeFameuxNomUSDuFichier
en
LeFameuxNomU.S.DuFichier
Le soucis c'est que quand j'exécute ce script
ça me met bien le US en U.S. mais ça me supprime la suite du nom
Clairement le * ne peut pas être dans la seconde partie du rename.
Alors pour éviter les fausses pistes, j'ai 28 fichier avec la partie en grasse ci dessous qui n'est pas la même à chaque fois :
LeFameuxNomUSDuFichier
Donc je ne peux pas tout simplement ajouter dans le rename la suite du nom et pas envie de me taper 28 lignes de codes en plus pour ça surtout que ce script est amené à être utilisé sur d'autres fichiers.
Voilà.
Merci aux âmes charitables qui pourraient me venir en aide sur ce petit problème.
Merci bien
Bonjour à tous
Bon petit problème
voilà mon code :
setlocal enableDelayedExpansion
for %%F in (*.ppt) do (
set "name=%%F"
if %%F GTR Portfo*US (ren "*US*.ppt" "*U.S.*.ppt")
)
Mon soucis, je veux comme vous pouvez le voir modifier le nom d'un fichier :
LeFameuxNomUSDuFichier
en
LeFameuxNomU.S.DuFichier
Le soucis c'est que quand j'exécute ce script
ça me met bien le US en U.S. mais ça me supprime la suite du nom
Clairement le * ne peut pas être dans la seconde partie du rename.
Alors pour éviter les fausses pistes, j'ai 28 fichier avec la partie en grasse ci dessous qui n'est pas la même à chaque fois :
LeFameuxNomUSDuFichier
Donc je ne peux pas tout simplement ajouter dans le rename la suite du nom et pas envie de me taper 28 lignes de codes en plus pour ça surtout que ce script est amené à être utilisé sur d'autres fichiers.
Voilà.
Merci aux âmes charitables qui pourraient me venir en aide sur ce petit problème.
Merci bien
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
individuellement ?
Je ne comprend pas Dubcek.
Si je fais ça ça suit tes consignes ?
ça marche nickel
je ne sais pas pourquoi ne pas faire simple quand on peut...
moi j'essaye de mettre des * des ?...
Il suffit juste de mettre ce qui gêne...
Merci beaucoup
Mais du coup (^^) j'avais dans tout le code plusieurs rename
dont un qui traîte la fin du nom du fichier :
à la base c'est USD => (USD)
mais comme on ajoute les points j'ai modifié
seulement ça ne fonctionne plus, les parenthèses ne se mettent pas.
Je dois ajouter une pause ?
Problème résolu juste je sort de la boucle et je le met dans une autre
Merci Dubcek
Je ne comprend pas Dubcek.
Si je fais ça ça suit tes consignes ?
setlocal enableDelayedExpansion
for %%F in (*.ppt) do (
set "name=%%F"
if %%F GTR Portfo*US (ren "!name!" "!name:US=U.S.!")
}
ça marche nickel
je ne sais pas pourquoi ne pas faire simple quand on peut...
moi j'essaye de mettre des * des ?...
Il suffit juste de mettre ce qui gêne...
Merci beaucoup
Mais du coup (^^) j'avais dans tout le code plusieurs rename
dont un qui traîte la fin du nom du fichier :
if %%F GTR Portfo (ren "!name!" "!name:U.S.D.ppt=(USD).ppt!")
à la base c'est USD => (USD)
mais comme on ajoute les points j'ai modifié
seulement ça ne fonctionne plus, les parenthèses ne se mettent pas.
Je dois ajouter une pause ?
Problème résolu juste je sort de la boucle et je le met dans une autre
Merci Dubcek
J'ai essayé par curiosité et ça ne fonctionne pas :)
J'ai essayé de mettre :
name
name1 et name2
Si j'ai bien compris c'est ce que tu me proposais non ?
De changer le nom de variable ?
Mais bon c'est pas gênant le batch fonctionne maintenant.
En revanche petite question par simple curiosité car j'ai contourné le problème (d'ailleurs si j'avais su avant j'aurai gagné 2 jours de tranquillité ^^) :
J'avais cette ligne de code :
Mais ça ne respecte pas la casse.
On peut faire en sorte que ça respecte ?
(Je rappel juste que c'est par curiosité, je n'en ai plus besoin dans mon code).
J'ai essayé de mettre :
name
name1 et name2
Si j'ai bien compris c'est ce que tu me proposais non ?
De changer le nom de variable ?
Mais bon c'est pas gênant le batch fonctionne maintenant.
En revanche petite question par simple curiosité car j'ai contourné le problème (d'ailleurs si j'avais su avant j'aurai gagné 2 jours de tranquillité ^^) :
J'avais cette ligne de code :
ren "!name!" "!name:US=U.S.!"
Mais ça ne respecte pas la casse.
On peut faire en sorte que ça respecte ?
(Je rappel juste que c'est par curiosité, je n'en ai plus besoin dans mon code).
à quoi sert ce test if %%F GTR Portfo puisque %%F est un nom et GTR teste des valeurs numérques ?
Salut
Donc oui c'est bien ça, ça fonctionne aussi sur une string
J'avais vu ça ici (http://www.batcher.fr/fonctions.php) :
Donc oui c'est bien ça, ça fonctionne aussi sur une string
J'avais vu ça ici (http://www.batcher.fr/fonctions.php) :
Les comparants utilisables sont:
EQU - égal à
NEQ - différent de
LSS - inférieur à
LEQ - inférieur ou égal à
GTR - supérieur à
GEQ - supérieur ou égal à
q Il est possible de comparer des chaînes de caractères ou bien des chiffres.
-Toto-dossier.pdf
Nom du fichier après :
dossier_062014.pdf
Ce qui me manque, c'est la suppression de la partie -Toto-
ça ne change rien sur mes fichiers
Peux tu m'expliquer rapidement que j'essaye de travailler dessus stp ?
%%~nb => le nom sans l'extension
%d% => la date définie plus haut
%%~xb => ?
%%a => ?
Dernière question, comment ce fait il que quand on lance le script il n'y a pas de confirmation à donner ?
ça modifie bien le nom, mais ça supprime l'extension, je passe d'un pdf à un simple fichier
ensuite, je perd une grande partie du nom du fichier (début et fin)
Enfin, ça ne traite qu'un fichier et non tous les fichiers du dossier.
Et une fois un fichier traité ça ne traite pas le suivant si je relance le batch
Car le nom de mes fichiers sont de la forme -nnnnn-vvvvv-xxxxxx
donc j'ai 3 -
et ça me supprime donc la chaine n et la chaine x
en revanche l'extension ? ça je devrais pouvoir l'ajouter.
Mais pourquoi un seul fichier est traité ?