Création .bat

Résolu/Fermé
Man478 Messages postés 6 Date d'inscription jeudi 14 janvier 2021 Statut Membre Dernière intervention 27 janvier 2021 - 14 janv. 2021 à 06:59
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 - 27 janv. 2021 à 10:13
Bonjour, je suis très novice je cherche quoi écrire pour créer un .bat pour faire ceci:
J’ai 17k fichiers PDF que je dois renommer et je veux pas faire cela un à la fois. Le noms des PDF actuellement est un séquencé de 6 chiffre variable que je dois conserver. Je veux ajouter un préfixe et un suffixe qui sera toujours le même.
Nom du Fichier PDF actuel : 123456
Nom rechercher au final : O19-123456-99
Ou se trouve mes fichier à renommer: Documents\Test

J’ai beau chercher je trouve pas tout ce que j’ai de besoin.

Merci à l’avance de votre aide je vais sauver énormément de temps, bien hâte de lire vos réponse.
A voir également:

4 réponses

barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
Modifié le 14 janv. 2021 à 10:26
Bonjour,

Tu peux essayer ça :

@echo off
color 0A
ver | find "10.0." >nul && chcp 65001 >nul || chcp 28591 >nul
setlocal enableextensions disabledelayedexpansion

cd %USERPROFILE%\Documents\Test

for %%A in (*.pdf) do (
echo %%~nA | findstr /r "\<[0-9][0-9][0-9][0-9][0-9][0-9]\>" >nul && ren "%%~fA" "O19-%%~nA-99%%~xA"
)

pause
exit


Je n'ai pas testé mais ça devrait le faire.

Si le script est trop lent à cause du grand nombre de fichiers, j'ai un autre script à proposer, plutôt une légère variation.


0
Man478 Messages postés 6 Date d'inscription jeudi 14 janvier 2021 Statut Membre Dernière intervention 27 janvier 2021
14 janv. 2021 à 13:50
Je teste et je te reviens
0
Man478 Messages postés 6 Date d'inscription jeudi 14 janvier 2021 Statut Membre Dernière intervention 27 janvier 2021
18 janv. 2021 à 02:15
Bonjour banabe0057 me re voilà regarde le message que j’ai c’est quoi le problème.
?

La syntaxe du nom de fichier, de répertoire ou de volume est incorrecte.

voici la ligne que j’ai: cd %USERPROFIL%\X:\SECUR3\ML\Test renommage

Tout le reste j’ai copier\ coller la formalité que tu m’as envoyer.
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
Modifié le 18 janv. 2021 à 02:29
Salut, je vois plusieurs problèmes liés entre eux :

1) tu as mal orthographié la variable %USERPROFILE%

2) le chemin que tu indiques ne peut pas exister car un nom de dossier ne peut pas contenir le symbole :

3) le X: me fait penser à une lettre de lecteur, est-ce qu'il s'agit d'une clé usb ou bien d'un lecteur réseau ?

Essaie comme ça :

@echo off
color 0A
ver | find "10.0." >nul && chcp 65001 >nul || chcp 28591 >nul
setlocal enableextensions disabledelayedexpansion

cd /d X:\SECUR3\ML\Test renommage

for %%A in (*.pdf) do (
 echo %%~nA | findstr /r "\<[0-9][0-9][0-9][0-9][0-9][0-9]\>" >nul && ren "%%~fA" "O19-%%~nA-99%%~xA"
)

pause
exit
0
Man478 Messages postés 6 Date d'inscription jeudi 14 janvier 2021 Statut Membre Dernière intervention 27 janvier 2021
18 janv. 2021 à 06:03
Wow de WoW ! Un énorme merci cela est inimaginable le temps je je vais sauver. Un gros gros merci.
0
Bonjour, j’ai encore besoin de votre aide. Je cherche la formule pour un .bat. Je veux enlever une partie de nomenclature de mes ficher FDP. Voici ce que j’ai 001-S62-123456-99. C’est le 001 qui est un chiffre variable mais qui a toujours 4 position que je veux enlever pour avoir en final S62-123456-99. Toute la séquence à partir du S62-123456-99 doit être conservé. Merci à l’avance de votre aide
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
Modifié le 22 janv. 2021 à 20:14
Bonjour,

Une boucle FOR fera l'affaire :

for /f "tokens=1* delims=-" %%A in ('2^>nul dir /b /a-d *.pdf') do ren "%%A-%%B" "%%B"


A tester !
0
Man478 Messages postés 6 Date d'inscription jeudi 14 janvier 2021 Statut Membre Dernière intervention 27 janvier 2021 > barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024
25 janv. 2021 à 02:04
Bonjour barnabe0057, j’ai un message qui dit le fichier spécifié est introuvable. Pourtant j’ai utilisé le même dossier pour mon autre bat. Mon PDF a le nom 001-O19-123456-99. Le 001 augmente 002, 003 etc. Le O19, change d’un fichier à l’autre il pourrait être S47, O93, mais il est toujours composé d’une lettre suivie de deux chiffre.Le 123456, est un numéro qui change mais qui a toujours 6 chiffres.

Merci encore de ton aide.

J’ai mis:
@echo off

CD /d X:\SECUR3\ML\Test renommage

Ici j’ai ta formule ci-haut

Pause
Exit
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908 > Man478 Messages postés 6 Date d'inscription jeudi 14 janvier 2021 Statut Membre Dernière intervention 27 janvier 2021
Modifié le 27 janv. 2021 à 02:42
@echo off
color 0A
ver | find "10.0." >nul && chcp 65001 >nul || chcp 28591 >nul
setlocal enableextensions disabledelayedexpansion

cd /d X:\SECUR3\ML\Test renommage

for /f "tokens=1* delims=-" %%A in ('2^>nul dir /b /a-d *.pdf') do echo %%A-%%B

pause
exit


Est-ce que ce code affiche bien la liste des fichiers .pdf ?
0
Man478 Messages postés 6 Date d'inscription jeudi 14 janvier 2021 Statut Membre Dernière intervention 27 janvier 2021 > barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024
27 janv. 2021 à 06:12
Merci de m’aider encore. Quand je double clic le code.exe affiche mes fichier mais quand je fau enter pour continuer le 001,002 ne s’efface pas.
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908 > Man478 Messages postés 6 Date d'inscription jeudi 14 janvier 2021 Statut Membre Dernière intervention 27 janvier 2021
27 janv. 2021 à 10:13
Oui c'est normal c'est juste un test pour essayer de trouver ce qui ne va pas.
0