О, Dimentiy - как раз твой совет мне и нужен (всем: сорри за оффтопик):
Есть ли способ в винде пустить .bat файл так, чтобы он НЕ порождал DOS BOX (то есть не то чтоб dos box был свернутым, а чтобы его вообще не было)? Не знаешь ли такой утилиты/метода для этого? Желательно чтобы под win9x тоже работала.
А то писать и компилить прогу из 3 строчек как-то не хочется, и это более чем негибко. В юниксе это просто как 2 пальца, а в виндах..
Модераторы, спасибо за понимание!
> Блин....вот юзеры start your.bat P.S. Test on WinNT
Так это открывает окно с dos box. А нужно чтобы его НЕ БЫЛО вообще, даже в таскбаре.
Спасибо за внимание!
anonymous (*) (2002-04-15 19:57:50.94): bat файл это скрипт, программа обработки этого скрипта называется cmd.exe. Tы же хочешь запустить обработчик скрипта без самого обработчика, а так не бывает. Соответственно тебе нужно сменить скриптовой язык на тот у которого обработчик не cmd.exe (так сказать с sh на bash). В общем вместо .bat используй js или vbs, которые являются частью Windows Scripting Host и это работает как в NT так и в W9x.
А чего в этой новости особенного? она у меня уже давно (кажись месяц или чуть меньше) стоит и именно сусевая. в принципе от обычной она мало чем отличается, зато удобно, что в пакетах. Только в лабе народ взбунтовался -- у многих почта заглючила -- говорила что не может соединяться с почтовым сервером, хотя проблема была только в профиле, при его удалении все нормализовывалось. да и в СуСЕвом mail-list'е много народу сказало, что обратно на 0.9.8 откатились из-за глюков.
Вот например гораздо более полезно было бы узнать, что SuSE выпустило "оффициально" обновления KDE2 до KDE3 для 6.4--7.3 -- т.е. теперь держать две kde не нужно т.е. пакеты kde3 из experimental стали base, а kde2 опустили до статуса kde2-compat
обработки этого скрипта называется cmd.exe. Tы же хочешь запустить
обработчик скрипта без самого обработчика, а так не бывает.
Соответственно тебе нужно сменить скриптовой язык на тот у которого
обработчик не cmd.exe (так сказать с sh на bash). В общем вместо .bat
используй js или vbs, которые являются частью Windows Scripting Host и
это работает как в NT так и в W9x.
А что, эти идиоты из MS не могли у cmd.exe добавить ключик -комм. строки
чтобы она не открывала dos BOX? Что в десятитысячный раз подтвреждает, что
в винде все через одно место. Уроды..
2anonymous (*) (2002-04-16 09:44:47.722): "А что, эти идиоты из MS не могли у cmd.exe добавить ключик -комм. строки чтобы она не открывала dos BOX?"
Bat файл это часть доса соответсвенно дос должен эмулироватся так чтоб скрипт этого даже не заметил. Если же ты до смх пор используешь бат для скриптов, то сам себе буратино.
> А чего в этой новости особенного? она у меня уже давно
> (кажись месяц или чуть меньше) стоит и именно сусевая.
> в принципе от обычной она мало чем отличается,
В отличии от предидущих версий поддерживается Flash
сразу после установки, что мне как частому посетителю
www.wetter.de очень даже наруку :-)
> Вот например гораздо более полезно было бы узнать,
> что SuSE выпустило "оффициально" обновления KDE2
> до KDE3 для 6.4--7.3
Bat файл это часть доса соответсвенно дос должен эмулироватся так чтоб
скрипт этого даже не заметил. Если же ты до смх пор используешь бат
для скриптов, то сам себе буратино.
А что, этим баранам было трудно, при некоторых флагах, делать окно невидимым
нигде, в том числе и в таскбаре? Это же как я понимаю 5 вызовов GDI.
Ведь dos box можно минимизировать - значит cmd.exe может работать не
имея окно развернутым, значит можно повесить флаг чтобы окно не было
показано и в таскбаре тоже.
Коль тут windows support forum функционирует - скажите ламеру в виндах, есть ли какая прога-аналог crond, но для винды, чтобы пускать указанную юзером прогу с постоянной периодичностью (допустим раз в 2 часа)? А то 'Мой Компьютер'->'Запланированные задания' может пускать проги не чаще раза в день.. (Воистину, windows - это mercedes с заваренным копотом, который может ездить только задним ходом). Спасибо за ответ заранее.
Модераторы, большое спасибо за понимание!
У консольной программы есть такие же потоки STDIN и STDOUT, как и в том же юниксе, к примеру. Если оные не заданы, создаются "стандартные" - тот самый дос бокс. То есть, если запускать cmd.exe не из эксплорера или откуда-то ещё, а из своей программы - можно передать в CreateProcess (вроде бы - точно не помню, но по-моему именно в этом вызове, см. MSDN) описатели двух этих streams, предварительно созданных - то соответственно никакого "DOS box" не будет. Например, многие IDE используют консольные версии компиляторов и линкеров, но вывод оных показывают в своих окнах. Так что всё просто. Это правильно по сути, но могут быть ошибки в деталях - потому как сто лет в обед я ничего такого не писал.
А вообще, действительно, удобнее в большинстве случаев использовать WSH.
2 Dimentiy:
Спасибо за аргументированный ответ.
Что же эти уроды не добавили ключик, чтобы cmd.exe открыл хэндлы потоков
ради того, чтобы не открывать окно, если это так легко?
Почему эти потоки не перенаправляются через комм. строку?
пускал так:
start file.bat < NUL > NUL 2>NULL
- все равно окно открывает.