Я хотел бы использовать Cygwin для своей основной оболочки на работе, но моя группа использует пакетные файлы для нескольких процессов. Мне сказали, что я могу просто cmd /c batch.bat
запустить командный файл из Cygwin. Это работает для некоторых случаев, а не для других. Когда я это делаю, один из командных файлов полностью выходит из строя, но работает нормально, когда я запускаю его из оболочки cmd.
Еще одна странность, которую я заметил, заключается в том, что если я запускаю cmd /?
из Cygwin, я не получаю вывод. Запуск этого из оболочки cmd дает стандартную помощь. Даже делать cmd /c cmd /?
ничего не дает. Если я запускаю cmd
из Cygwin, он дает мне оболочку cmd, а затем, если я запускаю cmd /?
, я получаю текст справки, но без разрывов страниц.
Я думаю, что следующая вещь, которую стоит попробовать, - это найти способ запустить cmd в своем собственном отдельном окне, как если бы вы пошли в «Пуск» - «Выполнить», а затем набрали «cmd». Есть ли способ сделать это из Cygwin?
источник
Вы можете запустить командный файл непосредственно из оболочки Cygwin, вам даже не нужен промежуточный вызов
cmd
. Если пакетный файл требует аргументов, они должны быть заключены в кавычки в стиле Windows; это может быть проще для запускаcmd /c 'foo.bat "quoted arguments"'
.Вы не говорите, в каком терминале вы запускаете оболочку. Пакетные файлы сами по себе не заботятся об этом, но команды, которые выполняются из пакетных файлов, могут. Эмуляторы терминалов Cygwin не эмулируют консоли Windows, поэтому они хороши для программ Cygwin и только для stdio-программ, но не для консольных программ Windows.
Если обычно запускаются оболочки Cygwin в терминале Cygwin (например, rxvt или mintty), вы можете запускать пакетные файлы неполадок в отдельной консоли Windows с помощью
start foo.bat
. Возможно, вы захотите запустить Console2 как лучшую замену консоли Windows и запустить консольные приложения Windows в приложениях Console2 и Cygwin в терминале Cygwin (или даже в Console2).cmd /?
это красная сельдь: предположительно, в корневом каталоге Cygwin есть каталоги длиной в один символ, поэтому оболочка расширяется/?
и запускаетсяcmd
с переключателями, которые не дают выходных данных.источник