Как получить значение переменной отсюда и использовать это значение для полезных дел, а не для вывода в консоль?
Собственно код, взят тут: https://stackoverflow.com/questions/15885132/file-folder-chooser-dialog-from-a-windows-batch-script/15885133#15885133
Проблема в том, что данный код может только вывести результат в консоль, а мне бы очень хотелось использовать результат в моем батнике в качестве переменной, но никак. Бьюсь третий день с тривиальной задачей. Я вызываю этот батник из своего батника, если требуется выбрать файл, но получить значение переменной не выходит просто никак! ЧЯДНТ? Кроме Echo
я от него ничего не смог добиться. Основной код:
@echo off&cls
setlocal enabledelayedexpansion
set working_directory=%~dp0
if %working_directory% NEQ %cd% (
set working_directory=%cd%
)
call chooser.bat :: Активируем выбор файла
set filename=!chose!
set "filename=%filename:~0,-12%" :: обрезка
echo Path to file %filename%
pause
Код для выбора файла.
<# : chooser.bat
:: launches a File... Open sort of file chooser and outputs choice(s) to the console
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%I in ('powershell -noprofile "iex (${%~f0} | out-string)"') do (
set "chose=%%~I"
echo !chose!
)
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 = "Program executable (program.exe)|program.exe"
$f.ShowHelp = $true
$f.Multiselect = $false
[void]$f.ShowDialog()
if ($f.Multiselect) { $f.FileNames } else { $f.FileName }