Récupérer taille dossier Powershell dans variable Batch

Fermé
brucine Messages postés 14219 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 17 avril 2024 - 23 mars 2023 à 15:46
brucine Messages postés 14219 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 17 avril 2024 - 24 mars 2023 à 07:44

Bonjour,

Formellement, je n'en ai pas besoin, le demandeur a changé ses plans, mais essayons quand même de mourir moins bête.

J'ai un dossier dont je veux retourner la taille après exclusion d'un sous-dossier, en Powershell, aucun problème:
 

$orig = "G:\photos\antibes"
(Get-ChildItem $orig -Recurse | Where {$_.FullName -notlike "*\datareporting\*"}| Measure-Object -Property Length -Sum).Sum
pause

Le résultat est bien 39871376, la taille du dossier $orig moins celle du sous-dossier datareporting.

Mais là où dans un batch une syntaxe d'exclusion de fichier marche parfaitement sur le style:
 

FOR /F %%b IN ('powershell.exe -Command "(Get-ChildItem %orig% -Recurse -Exclude:*.jsonlz4| Measure-Object -Property Length -Sum).Sum"') DO SET to=%%a

je ne trouve aucun moyen d'y faire lire la première syntaxe pour un dossier.

Merci.

 

A voir également:

1 réponse

barnabe0057 Messages postés 14439 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 14 avril 2024 4 905
Modifié le 23 mars 2023 à 18:17

Bonjour brucine,

Dans ta boucle FOR, au niveau de l'opérateur -notlike il faut échapper les doubles quotes comme ceci :

(Get-ChildItem $orig -Recurse | Where {$_.FullName -notlike """*\datareporting\*"""}| Measure-Object -Property Length -Sum).Sum

0
brucine Messages postés 14219 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 17 avril 2024 1 792
23 mars 2023 à 18:45

Bonjour,

Il fallait la chercher, celle-là, j'y serais encore, je suis une vraie quiche en PowerShell.

Merci beaucoup.

0
barnabe0057 Messages postés 14439 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 14 avril 2024 4 905 > brucine Messages postés 14219 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 17 avril 2024
Modifié le 24 mars 2023 à 07:01

A vrai dire ce n'est pas une question de powershell mais de batch qui interprète les doubles quotes qui du coup ne sont plus là lorsque powershell exécute la commande.

0
brucine Messages postés 14219 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 17 avril 2024 1 792 > barnabe0057 Messages postés 14439 Date d'inscription lundi 2 mars 2009 Statut Contributeur Dernière intervention 14 avril 2024
24 mars 2023 à 07:44

Oui, tu as raison, ce n'est que dans Batch que la syntaxe PowerShell ne fonctionne pas: je suis donc aussi une quiche en Batch.

0