[BATCH] - Manipulation en masse: Copie et renommag
Résolu/Fermé
yaphilde
Messages postés
35
Date d'inscription
lundi 9 janvier 2017
Statut
Membre
Dernière intervention
25 octobre 2022
-
14 févr. 2018 à 12:28
yaphilde Messages postés 35 Date d'inscription lundi 9 janvier 2017 Statut Membre Dernière intervention 25 octobre 2022 - 26 févr. 2018 à 12:45
yaphilde Messages postés 35 Date d'inscription lundi 9 janvier 2017 Statut Membre Dernière intervention 25 octobre 2022 - 26 févr. 2018 à 12:45
A voir également:
- [BATCH] - Manipulation en masse: Copie et renommag
- Renommer fichier en masse - Guide
- Fichier batch - Guide
- Controleur de stockage de masse - Télécharger - Pilotes & Matériel
- Extension batch - Forum Windows
- Batch renommer une partie du nom de plusieurs fichiers ✓ - Forum Autoit / batch
1 réponse
barnabe0057
Messages postés
14454
Date d'inscription
lundi 2 mars 2009
Statut
Contributeur
Dernière intervention
30 novembre 2024
4 918
14 févr. 2018 à 22:09
14 févr. 2018 à 22:09
Bonsoir,
Je n'ai pas eu le temps de tester mais ça devrait le faire :
Je n'ai pas eu le temps de tester mais ça devrait le faire :
@echo off
::Nouveau dossier dans le dossier realisation avec droits NTFS définis
Setlocal enableextensions
set DossierSource=P:\PROCESSUS DE REALISATION\00 - USAGER
set Cible=06 - Accompagnement pluridisciplinaire
set NouveauDossier=07- Suivi d'activité
cd /d %DossierSource% || exit /B 1
for /f "tokens=*" %%E in ('dir /s /b /ad') do (
if /i "%%~nE"=="%Cible%" (call :fonction "%%~dpnE" "%NouveauDossier%")
)
pause
exit /B 0
:fonction
if not exist "%~1\%~2" (
mkdir "%~1\%~2"
icacls "%~1\%~2" /inheritance:e /grant *S-1-5-21-1504173220-2678980005-1044320739-1104:(OI^)(CI^)(M^)
)
for /f "tokens=1-4,* delims=\" %%A in ('echo %~1') do (
copy /D /V /Y "a:\Mes modèles\Outil suivi activité 2018.xlsm" "%~1\%~2\Outil suivi activité 2018 - %%~D.xlsm"
)
goto :eof
rem
15 févr. 2018 à 16:11
j'espérait secrètement que ce soit toi qui prenne en charge mon probleme ;-)!
Et surtout merci!
Alors pour commencer ça ne fonctionne pas comme je veux.
J'ai deux problèmes:
Pour la création du dossier "07 - Suivi d'activité" j'ai un problème avec l'accent il me met un signe cabalistique à la place du"é", "d'activité".
Et pareil si je laisse l'accent dans mon fichier excel j'ai la copie qui ne fonctionne pas
J'ai rajouté la ligne suivante à mon code qui habituellement résous mes problèmes d'accent:
chcp 28591 > nul
Mais cela n'agit pas
Et le second problème que j'ai, c'est le renommage du fichier dans le dossier de l'usager, il me rajoute au nom du fichier "Outil suivi activite 2018 - SuivAct.xlsm" alors que je devrais avoir le nom de l'usager à la place de SuivAct.
Point important j'ai changé mes variables de localisation (je me suis mis en environnement de test)
voici mon code:
Pour information j'ai appliqué les modifications suivantes à ton code:
Ligne 3 j'ai rajouté:
C'est, me semblait-il pour gérer les accents
Ligne 6 j'ai modifié le chemin source
Ligne 8 et 27 pour pouvoir appliquer mes tests j'ai supprimé l'accent de "activité" et j'ai renommé mon fichier excel pour que lui aussi n'ai plus d'accent. Mais il est vrai que j'aimerai pouvoir les retrouver :-)!
Merci d'avance Barnabe
Modifié le 16 févr. 2018 à 05:14
Si ça ne fonctionne toujours pas, il faudrait vérifier l'encodage de caractères utilisé par Excel (Unicode, UTF-8, ANSI, ...)
Concernant le deuxième problème c'est normal c'est parce que tu as modifié le dossier source, il faut modifier le FOR pour qu'il récupère la bonne partie :
16 févr. 2018 à 09:47
Ton code fonctionne merveilleusement bien dans mon environnement de test.
Vraiment un grand merci.
Pour les accents j'ai renseigné
et c'est bon ça résout mon problème
A coté de cela j'ai une petite question histoire de bien comprendre
Je vois bien la modification que tu fais dans le code en fonction du chemin au niveau des tokens.
Le code pour environnement de prod:
tokens=1-4
Le code pour mon environnement de test:
tokens=1-6
Par contre je ne comprend pas véritablement ce qui fait que ça passe de 4 à 6.
Aurais tu une petite explication afin de m'éclairer.
Merci encore
16 févr. 2018 à 12:06
que tu passais de
%%~D.xlsm à %%~F.xlsm
Est-ce complètement subjectif ou il y a t-il une raison particulière?
Merci
@++
17 févr. 2018 à 10:31
F:\CSES\Modele\SuivAct\00 - USAGER\XXXXXX\.............
Ca donne donc :
token 1 (%%A) = F:
token 2 (%%B) = CSES
token 3 (%%C) = Modele
token 4 (%%D) = SuivAct
token 5 (%%E) = 00 - USAGER
token 6 (%%F) = XXXXXX
token * (%%G) = tout le reste
J'espère que c'est assez clair ;)