Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка Windows 2000/XP/2003 (http://forum.oszone.net/forumdisplay.php?f=32)
-   -   НЕвидимый *.CMD (http://forum.oszone.net/showthread.php?t=79611)

hobbit25 19-02-2007 16:22 552481

НЕвидимый *.CMD
 
как сделать CMD файлик что б его не было видно на экране в уже установленной винде!!!

jameszero 19-02-2007 19:01 552562

Как вариант - существуют программы компилирующие коммандные файлы в *.exe. Например, Exe Script или Quick Batch File Compiler
При компиляции можно выбрать невидимый режим запуска.

Vadikan 19-02-2007 20:18 552581

Скрываем консольные окна

Imago_ 22-02-2007 17:07 553989

vbs-скрипт

Код:

Dim objWshShell

Set objWshShell = CreateObject("WScript.Shell")

objWshShell.Run "путь к батнику\*.cmd", 0, false


YuriPet 22-02-2007 21:44 554112

Господа!
hobbit25 спрашивал:
Цитата:

как сделать CMD файлик что б его не было видно на экране в уже установленной винде!!!
Кстати, что он под этими словами понимал? :unsure:
А вы (мне показалось? ;) ) объяснете, как сделать невидимым процесс выполнения CMD-файла.

boss911 22-02-2007 22:22 554127

Цитата:

Цитата YuriPet
как сделать невидимым процесс выполнения CMD-файла.

Было бы прекрасно, если бы это можно было сделать стандартным способом, то есть без посторонних утилит и всевозможных скриптов. Но, это наверное не возможно, вот я и пользуюсь утилитой:

Код:

hidcon.exe командный файл.cmd

YuriPet 22-02-2007 23:00 554143

Ну, это кому что "по душе"... :)
Мне больше CMDOW Commandline Window Utility [v1.4.3] нравится... ;)

Pozia 10-09-2008 01:01 895114

Цитата:

Цитата jameszero
jameszero »

делаю экзешник с помощью Quick Batch File Compiler. В конце моего файла *.CMD стоит строка для самаудоления этого *.CMD файла после отработки команд в нем. При этом полученный данной прогой экзешник не удаляет сам себя. Как можно это исправить? Можно ли это вообще сделать? Спасибо

___oj 10-09-2008 04:47 895190

Лучше зделат EXE-шник, кто-ыр удалит сасм себя нафиг. Просто, если надо, пусть запускает BAT-ник, потом его удаляет, потом удалил сам себя нафиг. ЕЕсть некая функцияб, в разных языках наз-ся по разному, но суть в том что она запускает файлы не выполнение, а один из параметров говорит ей дожидаться завершения запущенной программы или нет. Так-вот надо запустить ВАТ-ник, в ктороом содержится строка удаляющая запустивший ее EXE-шник в режиме НЕ ожидания выполнения и сразу выход из программы. Тогда BAT-ник сможет его удалит. Именно по тоиу что программа скомпилированная Quick Batch File Compiler ожидает завершения запущенного процесса и мешает ей удалить саму-себя.

D_Master 10-09-2008 07:18 895223

___oj, вы имеете ввиду
Код:

@echo off
start someProgram.exe
del archive.exe
exit

Файл упаковывается в archive.exe (SFX), распаковывается и уничтожает екзешник

___oj 10-09-2008 09:24 895283

D_Master, а что, разве так работает? Та же проблема, archive.exe будет ждать пока не выполнится BAT-ник и то что этот батник хочет удалить EXE-шник кот-ый ждет пока этот батник выполнится... Вот если у 7zip SFX модуль имеет способность запуская процесс не ждать его завершения, то тогда это хорошая способность. Ну можно напридумывать много ухищрений с использованием программ типа killprocess или что-то в этом роде...

Pozia 10-09-2008 13:31 895436

Господа. Так как быть? как сделать самоудоляющийся экзешник чтобы он выполнял мои команды как обычный CMD файл???

___oj 10-09-2008 14:46 895493

Вложений: 1
D_Master, вообще-то правильно подсказал. Если можно создать самоудаляющийся SFX архив, то ничего не мешает создать такой архив, а внутрь поместить твой CMD. О параметрах SFX наверно сам знаешь, надо чтоб не было ни каких диалогов окон, чтоб файл распаковывался в темп директорий, чтоб после распаковки запускался твой CMD. CMD пусть сам себя удалит, после выполнения, а архив тоже пусть сам себя удалил. В 7zip SFX модуле есть такой параметр SelfDelete, который отвечает за удаление архива после установка (подробней о модифицированном модуле). В WinRar есть такой параметр "Удалить файлы после распаковки", надо поставить галочку напротив него. Не знаю правда сработает ли такой способ, не пробовал, но должен вобще-то.

PS: Поразбирался с WinRar, оказывается нет параметра "Удалить файлы после распаковки" а есть параметр "Удалить файлы после запаковки", нафиг он нужен? Есть еще "Выключит ПК после распаковки" ??? WinRar не подходит, смотри в сторону 7zip, ссылка см. выше.

PS:PS: Поигрался с 7zip SFX модулем, действительно можно создать такой EXE-шник. Работает 100%.
пРикрепил пример.
В архиве (в том числе) лежит файл MAKE.BAT. Выполняешь его, появляется файл RUN.EXE, EXE-шник кот-ый сам себя удаляет :)

Pozia 10-09-2008 16:01 895553

___oj, Ваш DELETEBATNIK.zip вещь замечательная. НО :) . Во первых получаемый мною экзешник себя то удоляет но зыбывает выполнить команду из RUN.CMD (нужно скопировать файл командой COPY). Во вторых главное что мне нужно от самоудаляющегося экзешника так это полная нивидимость. А то мерцание черных командных окон на долю секунды при автоустановке меня раздражают. Люблю эстетику :). Может еще будут идеи?

___oj 10-09-2008 16:12 895568

Цитата:

Цитата Pozia
но зыбывает выполнить команду из RUN.CMD (нужно скопировать файл командой COPY). »

Почему он не выполняет? У меня выполняет... Появляется консоль с текстом и предложением нажать клавишу для продолжения? Должно работать. В файле RUN.CMD можно оставить только строку DEL RUN.CMD
и она должна быть в конце файла иначе идущие после нее команды не ывполнятся(наверное понятно почему).

А чтоб скрыть консол, посмотри файл RUN.TXT. Там есть строка
RunProgram="RUN.CMD", и есть ;RunProgram="hidcon:RUN.CMD", убери в этой строчке знак ; а первый вариант удали. Так же можно удалить строку Title=" This is a good programm". У модифицированного 7zip SFX модуля неплохие возможности, советую поэкспериментировать, тем-более документация на русском.

Pozia 10-09-2008 23:54 895950

___oj, все путем. копирует и скрывает. Класс. Спасибо огромное!!! Только маленький нюанс. При простом копировании с одного диска на другой нет проблем. Но если чуть усложнить то не получается. Мне нужно произвести копирование такое:

COPY %systemdrive%\Program Files\tweaks\CMD\DEL.cmd "%systemdrive%\Documents and Settings\Pozia\Главное меню\Программы\Автозагрузка\DEL.cmd"

Сам CMD файл копирует нормально. заменял длинные строки в формат 8.3 и ставил ОЕМ кодировку. Не помогает. После получения экзешника копирование не происходит. Будут предложения? :)

gora 11-09-2008 09:10 896121

Цитата:

Цитата Pozia
COPY %systemdrive%\Program Files\tweaks\CMD\DEL.cmd "%systemdrive%\Documents and Settings\Pozia\Главное меню\Программы\Автозагрузка\DEL.cmd" »

Так даже в бат файле работать не должно, т.к. первый путь содержит пробел и не заключен в кавычки. Попробуйте так:
Код:

COPY "%systemdrive%\Program Files\tweaks\CMD\DEL.cmd" "%systemdrive%\Documents and Settings\Pozia\Главное меню\Программы\Автозагрузка\DEL.cmd"
А если нужно тихо провести копирование и уничтожить файл, производящий такое копирование, то бат файл вообще не нужен. Можно обойтись 7z sfx архивом. Тихо распакуется во временную директорию, выполнит копирование или что Вы еще его заставите сделать, и самоудалится. Нужны подробности - сформулируйте четко задачу, но только сюда, т.к., здесь это уже оффтоп.

Alex2357 08-04-2010 12:56 1387849

DELETEBATNIK.zip работает 100%, но если находится на флешке то он не удаляет сам себя

Сlassic 08-04-2010 13:25 1387888

Цитата:

Цитата Alex2357
но если находится на флешке то он не удаляет сам себя »

Попробуй после PAUSE вместо DEL RUN.CMD прописать
Код:

del %filename%.cmd
Del /F /Q %0


jentoso 08-04-2010 13:37 1387897

Можно скрыть консольное окно при помощи Bat To Exe Converter. Сам пользуюсь этой программой.

Alex2357 08-04-2010 14:18 1387930

Цитата:

Цитата Сlassic
Попробуй после PAUSE вместо DEL RUN.CMD прописать
Код:
del %filename%.cmd
Del /F /Q %0 »

после проделанной процедуры файл RUN.EXE не удаляется с флешки

Сlassic 08-04-2010 14:46 1387950

Ага, теперь понял, чего ты добиваешься.

Alex2357 08-04-2010 14:52 1387959

нашел вот что:
SelfDelete="1"
Удаляет SFX архив по окончании процесса.
В файле конфигурации допустимое значение только "1", другие игнорируются. Данный параметр работает ТОЛЬКО В ТОМ СЛУЧАЕ, если запуск SFX архива был произведен с жесткого диска. Для остальных устройств (CD-ROM, дискеты, Flash, сетевые диски и т.д.) - игнорируется.

Данный параметр может быть переопределен из командной строки ключом '-sdX'.

Как задействовать ключ '-sdX' уже перепробовал все :(

Habetdin 08-04-2010 15:18 1387992

Alex2357, mysfx.exe -sd1

Alex2357 08-04-2010 15:53 1388013

Спасибо, все получилось, работает :up

Сlassic 08-04-2010 15:57 1388019

Поделись, а.

semiono 09-04-2010 01:53 1388389

BTW ещё бы ктонибудь манифест придумал как привинтить cmd.exe.manifest, чтоб работало?
:)


Время: 02:09.

Время: 02:09.
© OSzone.net 2001-