Récupérer taille dossier Powershell dans variable Batch

brucine Messages postés 21725 Date d'inscription   Statut Membre Dernière intervention   -  
brucine Messages postés 21725 Date d'inscription   Statut Membre Dernière intervention   -

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.

 

1 réponse

barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925
 

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 21725 Date d'inscription   Statut Membre Dernière intervention   3 432
 

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 14455 Date d'inscription   Statut Contributeur Dernière intervention   4 925 > brucine Messages postés 21725 Date d'inscription   Statut Membre Dernière intervention  
 

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 21725 Date d'inscription   Statut Membre Dernière intervention   3 432 > barnabe0057 Messages postés 14455 Date d'inscription   Statut Contributeur Dernière intervention  
 

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