[BATCH] for dans un seul sous répertoire

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Répondre
Pierre Goudat
Batcheur occasionnel
Messages : 9
Enregistré le : 27 juil. 2017 16:37

[BATCH] for dans un seul sous répertoire

Message par Pierre Goudat »

Bonjour à tous,

Je travaille actuellement sur un projet ou j'ai le besoin d'utiliser un script batch. Je souhaite récupérer des fichiers contenues dans un workspace avec l'extension *.prj pour effectuer une action dessus. Cependant je me suis rendu compte que je souhaite seulement récupérer tous les *.prj d'un workspace avec un seul niveau de sous répertoire.

admettons que j'ai l’arborescence suivante :

Code : Tout sélectionner

WORKSPACE
    => Sous Dossier 1
        => [b]fichier.prj[/b]
        => Sous Dossier 2
            => fichier2.prj
    => Sous dossier 2
        => [b]fichier.prj[/b]
        => Sous Dossier 2
            => fichier2.prj

    =>[b]fichier.prj[/b]

je souhaite traiter les fichier.prj en gras mais je ne souhaite pas traiter les fichier2.prj car il sont situé à plus de un sous répertoire du Workspace.

Jusqu'a présent voici mon for :

Code : Tout sélectionner

for /r "%WORKSPACE%" %%a in (*.prj) do (
        "%COMPILO_PATH%\compile.exe" -release "%%a" 
)
que dois-je ajouter au for pour seulement lire jusqu’à un sous répertoire ?

Merci d'avance à tous,

Bonne journée.
barnabe0057
SuperBatcher
Messages : 105
Enregistré le : 24 janv. 2017 13:41

Re: [BATCH] for dans un seul sous répertoire

Message par barnabe0057 »

Bonjour,

Essaie comme ça :

Code : Tout sélectionner

for /f "tokens=*" %%A in ('dir /b /ad "%WORKSPACE%"') do (
       for /f "tokens=*" %%G in ('dir /b /a-d "%%~dpnA\*.prj"') do ("%COMPILO_PATH%\compile.exe" -release "%%~dpnxG")
)
Pierre Goudat
Batcheur occasionnel
Messages : 9
Enregistré le : 27 juil. 2017 16:37

Re: [BATCH] for dans un seul sous répertoire

Message par Pierre Goudat »

Bonjour,

Merci de votre aide, le problème est ainsi résolu.

Bon weekend.
shakes
Batcheur occasionnel
Messages : 9
Enregistré le : 26 janv. 2018 22:01

Re: [BATCH] for dans un seul sous répertoire

Message par shakes »

Après, je pense qu'il y a une instruction encore plus simple avec robocopy
(explication ici pour ceux qui veulent :https://www.malekal.com/robocopy-sauvegarde-de-windows/)

Je connais depuis peu et ca donnerait quelques choses comme ca je pense

ropocopy [DOSS_SOURCE] [DOSS_DESTINTAIRE] *.prj /LEV:1 /E
Répondre