Есть ли ограничение на размер пути, который могут обрабатывать get-childitem
и select-string
? Если да, что является альтернативой?
Когда я запускаю следующую команду по пути:
PS E:\KINGSTON backup5\03 Learning\Softwares\Mathematica\Mathematica 12\Mathematica Directories Backup2\C,Users,atfai,AppData,Roaming,Mathematica\Paclets\Repository\SystemDocsUpdate1-12.0.0\Documentation\English\Workflows> get-childitem -recurse -filter "*.nb" -file | select-string -pattern ".*ProcessObject.*" -casesensitive
Я получаю следующую ошибку
select-string:Файл E: \ KINGSTON backup5 \ 03 Learning \ Softwares \ Mathematica \ Mathematica 12 \ Каталоги Mathematica Backup2 \ C, Пользователи, atfai, AppData, Роуминг, Mathematica \ Paclets \ Repository \ SystemDocsUpdate1-12.0.0 \ Документация \ English \ Рабочие процессы \ChangeTheStyleOfPointsInA2DScatterPlot.nb не может быть прочитан: не удалось найти часть пути 'E: \ KINGSTON backup5 \ 03 Learning \ Softwares \ Mathematica \ Mathematica 12 \ Mathematica Каталоги Backup2 \ C, пользователи, atfai, AppData, Roaming, Mathematica \ Paclets \Repository \ SystemDocsUpdate1-12.0.0 \ Документация \ Английский \ Workflows \ ChangeTheStyleOfPointsInA2DScatterPlot.nb». В строке: 1 символ: 47 + ... nb "-file | select-string -pattern". ProcessObject."-casesensitive ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~InInfo: InvalidArgument:(:) [Select-String], ArgumentException + FullyQualifiedErrorId: ProcessingFile, Microsoft.PowerShell.Commands.SelectStringCommand
Более того, если я выполню ту же команду по следующему пути:
PS E:\Computer Backup\Downloads - Current\Windows 10 Optimization\SoftwareDistribution.old3\Download\736aed4d238d4999f5ea5b04589077ed\Package_for_RollupFix~~amd64~~17134.677.1.6\x86_wcf-system.servicemodel_b03f5f7f11d50a3a_10.0.17134.254_none_d5ff175e12d127c0> get-childitem -recurse -filter "*.nb" -file | select-string -pattern ".*ProcessObject.*" -casesensitive
В этот раз я получаю сообщение об ошибке get-childitem
get-childitem: Не удалось найти часть пути 'E: \ Computer Backup \ Downloads - Current \ Optimization для Windows 10 \ SoftwareDistribution. old3 \ Download \ 736aed4d238d4999f5ea5b 04589077ed \ Package_for_RollupFix ~~ amd64 ~~ 17134.677.1.6 \ x86_wcf-system.servicemodel_b03f5f7f11d50a3a_10.0.17134.254_nelf: 1ede:| select-string -pattern ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: Ошибка чтения: (E: \ Computer Bac ... 5ff175e12d127c0: String) [Get-ChildItem], DirectoryNotFoundException + FullyQualifiedErrorId: DirIOError, Microsoft.PowerShell.Commands.GetChildItemCommand
Что означает «Не удалось найти часть пути»? Диск E имеет файловую систему NTFS, которая поддерживается Windows, поэтому его команды powershell должны быть в состоянии справиться с этим? Что здесь происходит?
Кстати, я могу получить доступ к обоим путям из проводника Windows и открыть файлы в блокноте. Таким образом, пути существуют, и файлы явно не повреждены или недоступны.