Cette question est une extension de PowerShell - searching for existing files generates empty output.PowerShell - comment capturer des noms de chemin de fichier, y compris les noms de chemin de fichier longs avec ce code + AlphaFS
Je rencontre des problèmes pour capturer des noms de chemin d'accès longs avec AlphaFS. J'ai examiné des questions AlphaFS connexes, mais je ne vois pas comment elles traitent mon problème: Le code ci-dessous est destiné à capturer des fichiers dans un répertoire $ source dans un .csv, y compris ceux avec des chemins de plus de 260 caractères. Cependant, la sortie que je reçois dans TestFileLocations.csv se compose de 1 ligne qui lit
IsReadOnly|"IsFixedSize"|"IsSynchronized"|"Keys"|"Values"|"SyncRoot"|"Count"
suivi par 125060 lignes qui lisent
False|"False"|"False"|"System.Collections.Hashtable+KeyCollection"|"System.Collections.Hashtable+ValueCollection"|"System.Object"|"1"
PS code
[System.Reflection.Assembly]::LoadFrom('C:\AlphaFS\AlphaFS\lib\net35\AlphaFS.dll')
$searchFiles = Import-CSV 'C:\Data\SCRIPTS\PS1\TestFindFile.csv' -Header ("Name")
$source = 'C:\Data\Scripts'
$outputPath = 'c:\data\scripts\ps1\TestFileLocation.csv'
$searchFiles | ForEach-Object {
$files = [Alphaleonis.Win32.Filesystem.Directory]::EnumerateFileSystemEntries($source,'*',[System.IO.SearchOption]::AllDirectories)
$files | ForEach-Object { [PSCustomObject] @{FileName = $_} }
} | export-csv -notypeinformation -delimiter '|' -path $outputPath
Mon TestFindFile. csv contient seulement 4 lignes appartenant à 3 fichiers existants qui devraient être trouvés par le code. Le dernier fichier a 262 caractères:
Name
123.pdf
321.pdf
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.txt
Je suis sous Windows 7. Tous les pointeurs seraient appréciés.
finalement eu à travailler. J'avais des problèmes de composition; semble que je devais mettre à jour à https://www.microsoft.com/en-us/download/details.aspx?id=50395 et également se connecter en dehors du pare-feu de ma société car il ne me laissait pas installer PSAlphaFS. – val
génial d'entendre ça! – Kiran
savez-vous si PSAlphaFS est en conflit avec -ErrorAction SiltentlyContinue et/ou -exclude? J'ai posté ici http://stackoverflow.com/questions/38131238/powershell-exclude-directory-from-search (voir mon deuxième commentaire précédent) – val