[Batch files] Присвоение переменной результата вывода команды
☑
0
Bugmenot
11.06.13
✎
18:43
В выполняющемся Batch - файле нужно присвоить вывод команды
cygpath -u "%1" REM Windows Path -> Unix Path
какой то переменной, чтобы потом ее можно было использовать дальше.
Как? Синтаксис такой бедный, я не нашел нужной команды.
А может быть забить на Batch и юзать VBScript/PowerShell?
1
Bugmenot
11.06.13
✎
18:50
кстати такой же вопрос, но для PowerShell
2
Bugmenot
11.06.13
✎
18:53
(1) - тут легко, да:
cd C:\cygwin\bin
$unixPath = .\cygpath -u "%1"
3
Jaap Vduul
11.06.13
✎
19:10
Если можно использовать PS, то, конечно, следует использовать его, а не мазохизмом заниматься.
Ну а так через конструкцию for /f можно или через вывод в файл, с последующим set /p из файла
4
Bugmenot
11.06.13
✎
19:15
>Ну а так через конструкцию for /
пожалуйста синтаксис, мой мосг не переваривает расширенные конструкции т.н. языка Batch файлов
5
Bugmenot
11.06.13
✎
19:20
for /f %%l in ('cygpath -u "%1"') do set mypath=%%l
6
Bugmenot
11.06.13
✎
19:21
и кто-то после этого будет ругать Perl
Программист всегда исправляет последнюю ошибку.