Fichier batch

Fermé
Psykotrip - 25 oct. 2020 à 10:22
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 - 31 oct. 2020 à 18:13
Bonjour,

Je souhaiterais créer un fichier batch avec des fonctionnalités particulières et je voulais savoir si c'était possible.

J'ai un dossier dans lequel j'ai des sous dossiers, je souhaiterais répartir certains fichiers (cette fonctionnalité je la connais !) dans d'autres dossiers et idéalement qu'ils se mettent dans un dossier du jour.

Exemple: Dossier 1 (origine) : production du jour, sous dossier : cire, titane, résine etc...
Dossier 2 (destination) : Cire, titane etc... avec la création automatique d'un dossier du jour dans chacun de ces dossiers (cire, titane...)

En parallèle je souhaiterais savoir si il est possible de copier certains fichiers automatiquement, le problème c'est que ces fichiers sont distinguables par la présence de certains caractère dans leur nom (ex : TOTO-Dumont-x2.stl) et non pas par type de fichier.

La fonction copy c'est bon je connais, la fonction pour déplacer aussi.
Mon problème reste la possibilité (ou non) de conditionner la copy à la présence de termes particuliers dans leur nom ainsi que la possibilité de créer automatique un dossier à la date du jour dans le dossier de destination.

J'espère être à peu près clair !!

Merci et bon dimanche.

Configuration: Windows / Firefox 81.0
A voir également:

7 réponses

barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
25 oct. 2020 à 10:41
Bonjour,

Pour la copie de fichiers ce n'est pas très clair, quels fichiers doivent être copiés dans quels dossiers ?

0
Psykotrip675 Messages postés 7 Date d'inscription dimanche 25 octobre 2020 Statut Membre Dernière intervention 10 janvier 2021
25 oct. 2020 à 10:52
Voila le type de fichier source que j'aurais


Et ce que je voudrais avec la génération automatique du dossier à la date du jour
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
25 oct. 2020 à 11:29
Bonjour,

Voilà un premier brouillon :

@echo off
setlocal enableextensions enabledelayedexpansion

set origine=....................................\production
set destination=................................\fabrication
set jour=%date:~6,4%-%date:~3,2%-%date:~0,2%

cd /d %destination% || exit /b 1

for /d %%A in (*) do if not exist "%%A\%jour%" (mkdir "%%A\%jour%")

for /r "%origine%" %%A in (*x2*.*) do (

set "dossier_du_jour=%%~dpA"
if not exist "!dossier_du_jour:%origine%=%destination%!\%jour%" (mkdir "!dossier_du_jour:%origine%=%destination%!\%jour%")

copy "%%~A" "!dossier_du_jour:%origine%=%destination%!\%jour%"

)

pause


Avant de lancer ce script, tu dois indiquer les bons chemins dans les variables origine et destination.
0
Psykotrip675 Messages postés 7 Date d'inscription dimanche 25 octobre 2020 Statut Membre Dernière intervention 10 janvier 2021
25 oct. 2020 à 11:38
Top merci,
Et la possibilité de copier les fichiers contenant des termes particuliers c'est faisable ou non ?
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
25 oct. 2020 à 12:03
Regarde ma boucle FOR /R : (*x2*.*)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Psykotrip675 Messages postés 7 Date d'inscription dimanche 25 octobre 2020 Statut Membre Dernière intervention 10 janvier 2021
25 oct. 2020 à 12:14
Ne connaissant pas trop les possibilités de ce type de fichier je n'aurais pas pigé.

Merci énormément je teste ça rapidement
0
Psykotrip675 Messages postés 7 Date d'inscription dimanche 25 octobre 2020 Statut Membre Dernière intervention 10 janvier 2021
25 oct. 2020 à 20:03
cela fonctionne pour la copie des fichiers contenant "x2" mais je voudrais que par la suite la commande déplace tous les fichiers avec l'extension .stl soient déplacés vers le dossier destination et que par la suite tous mes sous dossier "source" soient vidés.
Faisable ?
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
25 oct. 2020 à 20:55
@echo off
setlocal enableextensions enabledelayedexpansion

set origine=....................................\production
set destination=................................\fabrication
set jour=%date:~6,4%-%date:~3,2%-%date:~0,2%

cd /d %destination% || exit /b 1

for /r "%origine%" %%A in (*.stl) do (

set "dossier_du_jour=%%~dpA"
if not exist "!dossier_du_jour:%origine%=%destination%!\%jour%" (mkdir "!dossier_du_jour:%origine%=%destination%!\%jour%")

move "%%~A" "!dossier_du_jour:%origine%=%destination%!\%jour%"

)

pause
0
Psykotrip675 Messages postés 7 Date d'inscription dimanche 25 octobre 2020 Statut Membre Dernière intervention 10 janvier 2021
31 oct. 2020 à 18:09
Merci barnabe0057
Le transfert fonctionne parfaitement mais la boucle "x2" n'y est plus dans ton dernier post...J'ai essayé de l'ajouter sans succès...

J'en profite pour une petite demande, est il possible d'avoir la date format jj/mm/aaaa ?
0
barnabe0057 Messages postés 14440 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 19 avril 2024 4 908
31 oct. 2020 à 18:13
Voilà :

@echo off
setlocal enableextensions enabledelayedexpansion

set origine=....................................\production
set destination=................................\fabrication
set jour=%date:~0,2%-%date:~3,2%-%date:~6,4%

cd /d %destination% || exit /b 1

for /r "%origine%" %%A in (*x2*.* *.stl) do (

set "dossier_du_jour=%%~dpA"
if not exist "!dossier_du_jour:%origine%=%destination%!\%jour%" (mkdir "!dossier_du_jour:%origine%=%destination%!\%jour%")

move "%%~A" "!dossier_du_jour:%origine%=%destination%!\%jour%"

)

pause
0