Fichier batch
Psykotrip
-
barnabe0057 Messages postés 17074 Statut Contributeur -
barnabe0057 Messages postés 17074 Statut Contributeur -
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.
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:
- Fichier batch
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier batch - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
7 réponses
Bonjour,
Pour la copie de fichiers ce n'est pas très clair, quels fichiers doivent être copiés dans quels dossiers ?
Pour la copie de fichiers ce n'est pas très clair, quels fichiers doivent être copiés dans quels dossiers ?
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


Et ce que je voudrais avec la génération automatique du dossier à la date du jour

Bonjour,
Voilà un premier brouillon :
Avant de lancer ce script, tu dois indiquer les bons chemins dans les variables origine et destination.
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.
Top merci,
Et la possibilité de copier les fichiers contenant des termes particuliers c'est faisable ou non ?
Et la possibilité de copier les fichiers contenant des termes particuliers c'est faisable ou non ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ne connaissant pas trop les possibilités de ce type de fichier je n'aurais pas pigé.
Merci énormément je teste ça rapidement
Merci énormément je teste ça rapidement
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 ?
Faisable ?
@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
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 ?
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 ?
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