Не удается разобрать путь с пробелами в powershell - PullRequest
0 голосов
/ 11 марта 2019

Я пытаюсь запустить поиск файлов из Autoit через powershell в уже созданную строку.

Это команда полного запуска (https://www.autoitscript.com/autoit3/docs/functions/Run.htm), с которой я пытаюсь перейти:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command Get-ChildItem -File D:\__Temp\123\2 - Copy -Recurse -Filter *.dcm | ForEach-Object {  '<image>' + $_.FullName + '</image>' } | Out-File -FilePath D:\Temp\scan.txt -Append -Encoding UTF8

Я уже пытался использовать несколько "или" по пути, но, похоже, ничего не получалось, и оболочка просто мгновенно завершала работу без записи файла.

Вот что я пробовал:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command Get-ChildItem -File 'D:\__Temp\123\2 - Copy' -Recurse -Filter *.dcm | ForEach-Object {  '<image>' + $_.FullName + '</image>' } | Out-File -FilePath D:\Temp\scan.txt -Append -Encoding UTF8

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command Get-ChildItem -File "D:\__Temp\123\2 - Copy" -Recurse -Filter *.dcm | ForEach-Object {  '<image>' + $_.FullName + '</image>' } | Out-File -FilePath D:\Temp\scan.txt -Append -Encoding UTF8

1 Ответ

1 голос
/ 11 марта 2019

Благодаря подсказке от mklement0 это рабочее решение:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command "Get-ChildItem -File 'D:\__Temp\123\2 - Kopie  dads ds a' -Recurse -Filter *.dcm | ForEach-Object {  '<image>' + $_.FullName + '</image>' } | Out-File -FilePath C:\Users\LUKAS~1.WIL\AppData\Local\Temp\DB_Tool_jDicomCC\scan.txt -Append -Encoding UTF8"

То есть весь аргумент -Command заключен в "...", а встроенный путь с пробелами заключен в '...'.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...