J'obtiens un fichier ".txt" vide.
Et oui tous les fichiers ont un "s" au début.
Merci
J'obtiens un fichier ".txt" vide.
Et oui tous les fichiers ont un "s" au début.
Merci
Je viens de trouver pourquoi le batch pour lister les fichiers ne fonctionnait pas et j'avoue être plus que surpris par cette découverte !
- C:\Users\moi\Documents\Test modif nom photos\Photos à renommer\*.jpg => ça ne fonctionne pas
- C:\Users\moi\Documents\Test modif nom photos\Photos a renommer\*.jpg => ça fonctionne
Le nom des dossiers dans le chemin ne doit comporter aucun accent ! je suppose qu'il y a une explication à cela !!!
Le nom des fichiers "s36900123" n'avait donc rien à voir à ce problème.
Une idée pour enlever le "s" de tous les fichiers lors du traitement qui enlève le ".jpg" ?
Par avance merci.
Les accents, en autres, ont un encodage "particulier".
Bref, essai de t'en passer ou alors il faudra mettre le caractère correspondant dans le batch.
Script avec suppression du premier caractère
xt"
Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 @echo off SETLOCAL ENABLEDELAYEDEXPANSION (for %%a in ("C:\Users\moi\Documents\dossier\PHOTO\*.jpg") do (set tmp=%%~na echo !tmp:~1!))>"C:\Users\moi\Documents\dossier\resultat DIR photos\dir_photos.txt"
Merci beaucoup, c'est parfait.
Bonjour à tous,
@ ericlm128
Le batch suivant déplace les fichiers depuis une source vers une cible, j'ai deux autres cibles sur deux autres PC du réseau à mettre à jour avec les mêmes fichiers, peut-on automatiser cette opération à partir d'un seul batch, l'arborescence des dossiers étant identique ?
MOVE peut-il être remplacé dans ce cas par COPY ou XCOPY ? (si nécessaire)
Merci pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 @echo off SETLOCAL ENABLEDELAYEDEXPANSION set source=nouvelles photos set cible=photos for %%a in ("%source%\*.jpg") do ( echo %%~na|FINDSTR /R /C:"^[0-9]*$" >nul 2>nul&&( set /a NumBas=%%~na/5000*5000 set /a NumHaut=^(%%~na/5000*5000^)+4999 echo %%~na -^> !NumBas!-!NumHaut! IF NOT EXIST "%cible%\!NumBas!-!NumHaut!" MD "%cible%\!NumBas!-!NumHaut!" MOVE /Y "%%~a" "%cible%\!NumBas!-!NumHaut!" >nul ) )
Tu as du te tromper de poste
Non je reviens sur le début de la discussion en page 1.
C'est vrai que dans la même discussion il y a eu deux sujets différents.
- Déplacer des fichiers dans des sous dossiers sous condition
et
- Générer une liste de fichiers sans l'extension et en supprimant le premier caractère
Mon message du jour correspond au 1er sujet.
Bon d'accord, puisqu'il en est ainsi.
Voici ce que je propose.
Si tu souhaite ajouter d'autre destination ou en enlever tu n'a qu'a suivre le modèle :
- Définit la cible
set cible1=macible
- Copie le fichier dans la cible
XCOPY "%%~fa" "%cible1%\!NumBas!-!NumHaut!\" /Y>nul
Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 @echo off SETLOCAL ENABLEDELAYEDEXPANSION set source=nouvelles photos set cible1=photos1 set cible2=toto\photos2 set cible3=tata3\photo for %%a in ("%source%\*.jpg") do ( echo %%~na|FINDSTR /R /C:"^[0-9]*$" >nul 2>nul&&( set /a NumBas=%%~na/5000*5000 set /a NumHaut=^(%%~na/5000*5000^)+4999 echo %%~na -^> !NumBas!-!NumHaut! XCOPY "%%~fa" "%cible1%\!NumBas!-!NumHaut!\" /Y>nul XCOPY "%%~fa" "%cible2%\!NumBas!-!NumHaut!\" /Y>nul XCOPY "%%~fa" "%cible3%\!NumBas!-!NumHaut!\" /Y>nul DEL /F /Q /A "%%~fa" ) )
On copie chaque fichier dans les cibles et on le supprimes après, facile !
Note1 : Les dossiers seront créés automatiquement si besoin
Note2 : On pourrait faire plus compliqué mais bon la ça permet de comprendre le code
Merci ericlm128.
Ça fonctionne parfaitement.
Encore une fois tu m'apportes une aide précieuse.
Cette discutions est résolue ?
Merci, ca marche, j'ai fais un petit test avec 4 fichiers/2 dossier mais il n'y a pas une issue pour que les dossiers commence a 1 non 0
fichiers :
1.pdf
2.pdf
3.pdf
4.pdf
et le résultat doit etre :
Folders 1-2 , 3-4 .....
Code Batch : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 @echo off SETLOCAL ENABLEDELAYEDEXPANSION for %%a in (*.pdf) do ( echo %%~na|FINDSTR /R /C:"^[0-9]*$" >nul 2>nul&&( set /a NumBas=%%~na/2*2 set /a NumHaut=^(%%~na/2*2^)+1 echo %%~a -^> !NumBas!-!NumHaut! IF NOT EXIST "!NumBas!-!NumHaut!" MD "!NumBas!-!NumHaut!" MOVE /Y "%%~a" "!NumBas!-!NumHaut!\%%~a" >nul ) )
Bonjour Casper tu es nouveau sur la discution.
Si tu as un besoin je te propose d'ouvrir ton propre post
Ok ca marche ! parce que c'était ton Script est ca m'a aider du coup je me demande si c'est possible de faire la modification
Ok, je regarderais alors si c'est pas trop différent de la demande initiale.
Merci Beaucoup
Et donc ça devrait finir par quoi ? 9 ou 9-0 ?
Peut être un truc comme cela
Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 @echo off SETLOCAL ENABLEDELAYEDEXPANSION for %%a in (*.pdf) do ( echo %%~na|FINDSTR /R /C:"^[0-9]*$" >nul 2>nul&&( set /a NumHaut=%%~na+%%~na%%2 set /a NumBas=!NumHaut!-1 if "%%~na"=="0" set /a NumBas=%%~na if "%%~na"=="9" set /a NumHaut=%%~na echo %%~a -^> !NumBas!-!NumHaut! IF NOT EXIST "!NumBas!-!NumHaut!" MD "!NumBas!-!NumHaut!" MOVE /Y "%%~a" "!NumBas!-!NumHaut!\%%~a" >nul ) ) pause
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 0.pdf -> 0-0 1.pdf -> 1-2 2.pdf -> 1-2 3.pdf -> 3-4 4.pdf -> 3-4 5.pdf -> 5-6 6.pdf -> 5-6 7.pdf -> 7-8 8.pdf -> 7-8 9.pdf -> 9-9
Merci, beaucoup pour votre aide
Salut à tous!
J’aurai besoin d’aide svp.
Access me génère des factures dans un dossier commun « C:/Documents/Factures/ »
Les factures sont nommées de la façon suivante : « FAAAAMMJJ-XXX »
Je voudrais avoir une petite procédure pour pouvoir créer des sous dossiers nommés « Mois Année » (ex : Janvier 2023) et y déplacer chaque facture correspondante.
Merci d’avance pour votre aide!
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager