Запуск cmd.exe /c "App Name.exe"- как

Только для тех, кто пишет плагины под Total Commander. Обмен опытом, решение проблем.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Ответить
Аватара пользователя
Alextp
Сообщения: 4957
Зарегистрирован: Вс фев 06, 2005 17:21

Запуск cmd.exe /c "App Name.exe"- как

Сообщение Alextp »

Есть console app. У него путь с пробелом. (У short name - тоже пробел. странно). Нужно запустить cmd.exe /c "app name.exe" >1.txt. Если app name.exe(с пробелом) взять в "", то запуска нет. cmd ругается.


Добавлено спустя 2 минуты:

ps "D:\Program Files\Embarcadero\RAD Studio\8.0\bin\brcc32.exe"
Последний раз редактировалось Alextp Сб сен 10, 2011 10:25, всего редактировалось 1 раз.
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Re: Запуск cmd.exe /c "App Name.exe"- как

Сообщение Tol!k »

Alextp писал(а):У short name - тоже пробел. странно
Значит не short, настоящий short – d:\progra~1\embarc~1\radstu~1\8.0\bin\brcc32.exe
Как запустить?
пробуй
cmd.exe /c start "" /wait "name.exe" >1.txt
Аватара пользователя
Alextp
Сообщения: 4957
Зарегистрирован: Вс фев 06, 2005 17:21

Сообщение Alextp »

Спасибо. не пробовал, сделал вот что

Код: Выделить всё

cmd.exe /c "D:\Program Files\Embarcadero\RAD Studio\8.0\bin\bcc32.exe" "D:\T\ab.cpp" >"11.txt"
-error!

Код: Выделить всё

cmd.exe /c""D:\Program Files\Embarcadero\RAD Studio\8.0\bin\bcc32.exe" "D:\T\ab.cpp" >"11.txt""
-Run
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Это вроде известный факт, что командную строку, которая передаётся cmd после параметров /k или /c, нужно заключать в дополнительную пару кавычек (если путь к самой программе без кавычек, вроде можно не заключать, cmd удаляет только внешние кавычки с переданной комстроки). Какой идиот придумал это - не знаю, но что идиот - сомнений нет.
Аватара пользователя
Alextp
Сообщения: 4957
Зарегистрирован: Вс фев 06, 2005 17:21

Сообщение Alextp »

MVV
Это был неизвестный факт..
ps Приношу извинения CaptainFlint за слишком сокращенное 1е письмо

edit
Там дело не в сокращениях, а в плохой формулировке
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

Когда-то меня это очень сбило с толку. Открой консоль и напиши cmd /?, там будет описано это поведение.
Аватара пользователя
Alextp
Сообщения: 4957
Зарегистрирован: Вс фев 06, 2005 17:21

Сообщение Alextp »

All
Еще вопрос
Есть unicode file 1.txt. Если сделать type 1.txt>11, то в выводе 11 видим Ansi, не unicode. Можно ли как-то (не обяз-но через type) получить вывод (команда >файл_вывода) в Unicode?

или ">" всегда создает Ansi?
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

Alextp писал(а):или ">" всегда создает Ansi?
Эта операция тупо перенаправляет в файл всё, что выводится программой в стандартный поток, будь то ANSI-текст, юникодный текст или вообще бинарный поток данных а-ля картинка или исполняемый файл. Превращение юникодного файла в ANSI при перегоне его через type — это инициатива самой type. Если из файла выкинуть BOM-сигнатуру, то type не опознает кодировку и выдаст юникодное содержимое файла без изменений.
Почему же, ё-моё, ты нигде не пишешь "ё"?
Аватара пользователя
Alextp
Сообщения: 4957
Зарегистрирован: Вс фев 06, 2005 17:21

Сообщение Alextp »

понятно. Мне надо получить Unicode with BOM file.
Аватара пользователя
CaptainFlint
Сообщения: 6239
Зарегистрирован: Вт дек 14, 2004 22:34
Контактная информация:

Сообщение CaptainFlint »

Alextp писал(а):Мне надо получить Unicode with BOM file.
BOM я упомянул лишь для объяснения ситуации. Если программа выводит юникод (хоть с BOM, хоть без него), то после перенаправления выходного потока в файл через ">" в файле окажется именно юникод. Ты в своём эксперименте получал ANSI не из-за того, что перенаправление так хитро работает, а из-за того, что программа type тебе выдала ANSI, только и всего.
Почему же, ё-моё, ты нигде не пишешь "ё"?
Аватара пользователя
Alextp
Сообщения: 4957
Зарегистрирован: Вс фев 06, 2005 17:21

Сообщение Alextp »

Понятно (я и тот пост понял)- спасибо.
Аватара пользователя
MVV
Сообщения: 4815
Зарегистрирован: Чт окт 15, 2009 10:58
Откуда: Ростов-Дон

Сообщение MVV »

У cmd.exe есть параметр /U - с ним вывод в файл будет в Unicode. Насчёт BOM не знаю.
Аватара пользователя
Tol!k
Сообщения: 1727
Зарегистрирован: Вт апр 01, 2008 20:02
Откуда: Арзамас

Сообщение Tol!k »

cmd может конвертировать ANSI в Unicode, но без BOM

Код: Выделить всё

cmd /u /c type 1.txt>11
Ответить