Проблемы с передачей длинной строки из выражения powershell в cmd - PullRequest
0 голосов
/ 28 марта 2019

У меня проблемы с модификацией гибридного сценария Powershell / пакета, взятого из другого вопроса переполнения стека (https://stackoverflow.com/a/15885133/1683264).

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

Я думаю, что это как-то связано с использованием параметра командной строки по сравнению с использованием переменной, однако я очень плохо знаком с пакетным сценарием и powershell, и я был бы признателен за любую помощь!

<# : chooser.bat
:: launches a File... Open sort of file chooser and outputs choice(s) to the console
:: https://stackoverflow.com/a/15885133/1683264

@echo off
setlocal


for /f "delims=" %%I in ('powershell -noprofile "iex (${%~f0} | out-string)"') do ( 

echo "%%~I"



)
pause
goto :EOF

: end Batch portion / begin PowerShell hybrid chimera #>





Add-Type -AssemblyName System.Windows.Forms
$f = new-object Windows.Forms.OpenFileDialog
$f.InitialDirectory = pwd
$f.Filter = "DAT Files (*.dat*)|*.dat*|All Files (*.*)|*.*"
$f.ShowHelp = $true
$f.Multiselect = $true
[void]$f.ShowDialog()
if ($f.Multiselect) {$f.FileNames} else {$f.FileName}

Я ищу вывод

"fullnameandpath.dat" 

однако, если у меня длинный путь и имя файла, я получаю что-то вроде этого:

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