Category Archives: PowerShell

Parcours d’un dossier dont le nom fait plus de 248 caractères

Pour éviter le message « The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters. » lors de l’utilisation de Get-ChildItem (no comment…), l’utilisation de la bibliothèque .Net AlphaFS peut être une solution. Il suffit de faire, par exemple :

import-module alphafs
# Fonction récursive de parcours de dossiers
function ParcoursDossier ($nomdossier) {
$nomdossier_lp=[Alphaleonis.Win32.Filesystem.Path]::GetLongPath($nomdossier)
#Write-Host "*** Parcours $nomdossier_lp ***"
# On affiche d'abord les fichiers
[Alphaleonis.Win32.Filesystem.Directory]::GetFiles($nomdossier_lp)
# On descend ensuite dans les dossiers
[Alphaleonis.Win32.Filesystem.Directory]::GetDirectories($nomdossier_lp) | foreach-object {
ParcoursDossier $_
}
}
$dossier="C:Windows"
ParcoursDossier $dossier

Mastering PowerShell

Une documentation en ligne sur le PowerShell (par Tobiad Weltner, PowerShell MVP) est consultable gratuitement à l’adresse http://powershell.com/cs/blogs/ebookv2

Voici les points abordés :

1. The PowerShell Console  11. Finding and Avoiding Errors
2. Interactive PowerShell  12. Command Discovery and Scriptblocks
3. Variables               13. Text and Regular Expressions
4. Arrays and Hashtables   14. XML
5. The PowerShell Pipeline 15. The File System
6. Using Objects           16. The Registry
7. Conditions              17. Processes, Services, Event Logs
8. Loops                   18. Windows Management Instrumentation
9. Functions               19. User Management
10. Scripts                20. Your Own Cmdlets and Extensions

Note (09/2016) : apparement le site a disparu. Mais voilà le PDF : Mastering-PowerShell.