Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Задачи на bat-файлах 2

Автор: Sceval
Дата сообщения: 04.01.2007 18:00
а как после выполнения bat-файла закрыть cmd
мой батник запускает прграмму и висит черный экран, он только закрываеться когда закрываеться программа а как сделать что бы после выволнения он сам закрывался
а прога продолжала работать
пробывал


Цитата:
...... goto exit
:exit
exit


не выходит
Автор: Elroir
Дата сообщения: 04.01.2007 18:09
Sceval

Цитата:
а как сделать что бы после выволнения он сам закрывался
а прога продолжала работать

Запускай программу командой start:

Код:
start c:\program\program.exe
Автор: Sceval
Дата сообщения: 05.01.2007 08:50
Elroir спасиба разобрался
Автор: Wise_Kaa
Дата сообщения: 05.01.2007 13:45
Elroir, спасибо за разъяснения, если имя, как аргумент передается, все работает.
Smitis уже читаю, спасиб.

Автор: Maza Faka
Дата сообщения: 06.01.2007 08:52
Как написать батник такого содержания: Пропинговать компьютеры в локальной сети, если например какой-либо компьютер не пингуется, то в ini файле удаляется строка с IP адресом этого компьютера (Адреса в ini файле уже прописаны).
Автор: Elroir
Дата сообщения: 06.01.2007 15:36
Maza Faka
Какой формат у ini файла?

Добавлено:
Есть ли список всех адресов локалки? Если нет, тогда напиши IP и Netmask.
Автор: Maza Faka
Дата сообщения: 06.01.2007 16:45

Цитата:
Какой формат у ini файла?

Добавлено:
Есть ли список всех адресов локалки? Если нет, тогда напиши IP и Netmask.


Да всё просто, самый обыкновенный ini файл, строки, которые нужно будет удалять (если удалёный комп не пингуется) будут выглядеть так: "SetVideoFolderPath=\\192.168.0.1\d\Video\Films" и так до 10-го компа...Нужна команда которая будет удалять эту строку
Автор: Elroir
Дата сообщения: 06.01.2007 17:11
Maza Faka
В ini только такие строчки?
Если там есть еще что-нибудь - это проблема. Из батника невозможно редактировать файл - можно читать и записывать. То есть сценарий такой - читаешь строчку из ini файла, проверяешь пингом, записываешь в другой файл. После того, как проверил все - удалаешь старый ini файл и переименовываешь новый.
Еще вопрос - адреса идут по порядку (192.168.0.1,192.168.0.2,..,192.168.0.10)?
Автор: Maza Faka
Дата сообщения: 06.01.2007 17:27

Цитата:
Еще вопрос - адреса идут по порядку (192.168.0.1,192.168.0.2,..,192.168.0.10)?

Да, по порядку!
Автор: Elroir
Дата сообщения: 06.01.2007 17:30
Maza Faka
А на первый вопрос ответить не судьба?
Автор: TheChampion
Дата сообщения: 06.01.2007 23:07
Господа, а как узнать загрузку ЦП?

А еще сетевую активность. В общем, то, что выводит диспетчер задач, нужно моей программе. Через cmd или WinAPI --- неважно.
Автор: NIKkurer
Дата сообщения: 07.01.2007 02:46
Помогите, автоматизировать задачку:
есть файл scan.txt в котором хранятся названия папок, находящихся в одной папке (вида ah_my_goddess_001), всего папок 219. И есть файл jpg2gif.exe в который необходимо эти названия папок передать как параметр, примерно таким образом
Код: call e:/jpg2gif.exe ah_my_goddess_001\*.jpg
Автор: Maza Faka
Дата сообщения: 07.01.2007 07:29

Цитата:
В ini только такие строчки?

Нет, есть и другие

Автор: AZJIO
Дата сообщения: 07.01.2007 11:38
Может кто нибудь подправить бат файл автоустановки MiniNT. Вместе с Hiren's BootCD 8.7 шёл патч и в нём мне понравилось замена текста с помощью файла keyb.sys (всего то 15 кб). Первая проблема - не могу с помощью батника внести строку в скрытый файл boot.ini, в обычный нескрытый могу, а в скрытый нет... снять атрибуты не получалось. Вторая проблема - как сделать выбор пути к дистрибутиву, чтоб батник сам предложил выбор диска в дистрибутивом WindowsXP. Кодировку текста естественно сменил для просмотра.

Цитата:

@ECHO OFF
color 3b
echo.
echo.
echo ===============================================================================
echo Перед установкой консоли вставте диск в CD,DVD-привод, и в текущем файле
echo Автоустановка.bat впишите путь к дистрибутиву WindowsXP, замените вот эту
echo строку H:\i386\winnt32.exe /cmdcons, смените букву диска на букву вашего привода
echo И перезапустите файл этот файл.
echo =============================================================================ьho.
echo.
pause
title Установить консоль (указать путь, отредактировав Автоустановка.bat)
H:\i386\winnt32.exe /cmdcons
title Копировать peldr
copy peldr C:\
title Установить MiniNT
MiniNT.exe
title копировать загрузчик в текущую папку
copy C:\cmdcons\BOOTSECT.DAT BOOTSECT.DAT
title пропатчить загрузчик и переименовать
copy /y "BOOTSECT.DAT" PELDR.DAT>nul
echo FILE = PELDR.DAT>temp.dat
echo TTL = PE Patch For BOOTSECT.DAT >>temp.dat
echo SEARCH = 43 4D 4C 44 52>>temp.dat
echo CHANGE = 50 45 4C 44 52>>temp.dat
copy /y keyb.sys tmpfile.exe>nul
tmpfile /p temp.dat
del temp.dat
del tmpfile.exe
title Копировать загрузчик в MiniNT
copy PELDR.DAT C:\MiniNT\PELDR.DAT
del PELDR.DAT
del BOOTSECT.DAT
echo.
echo.
echo ==============================================================================echo На диске С находим скрытый файл boot.ini и снимаем атрибуты только для чтения.
echo В конец файла добавляем строку:.
echo.
echo C:\MiniNT\PELDR.DAT="WinPE".
echo.
echo а вторую строку timeout=30 заменяем на timeout=4
echo Это время отображения меню, после окончания которого запускается OS по умолчанию 4 секунды достаточно для выбора системы.
echo =============================================================================ьho.
echo.
pause


Еще есть проблема - использую команду start для запуска *.exe-файла, но в пути к программе есть пробел (Program Files) и путь не воспринимается полностью. Если заключить путь в кавычки, то путь тоже не воспринимается. Без команды start путь в ковычках воспринимается, но тогда следующие команды в батнике не запускаются... что делать?
Автор: ViSiToR
Дата сообщения: 07.01.2007 12:38
AZJIO


Цитата:
использую команду start для запуска *.exe-файла, но в пути к программе есть пробел (Program Files) и путь не воспринимается полностью. Если заключить путь в кавычки, то путь тоже не воспринимается.


Попробуй до запуска проги изменить текущий каталог cd "papka progi" - или как вариант, заключить в кавычки только те пути (между \), в которых встречаются пробелы...


Код: start c:\"Путь с пробелом"\а_это_путь_без_пробелов\proga.exe
Автор: fl1pp3r
Дата сообщения: 07.01.2007 13:36
Уважаемые форумчане, такой вопрос:
Обои рабочего стола подгружаются из html файла, посередине кнопка (как в фильме Хоттабыч), щелчком по этой кнопке открывается bat в котором прописан линк на запуск winamp. При нажатии на кнопку сначала, на доли секунды открывается bat'овское окно, а потом запускается winamp. Можно что-нибудь прописать чтобы bat файл открывался в свернутом виде?
Автор: ViSiToR
Дата сообщения: 07.01.2007 14:55
fl1pp3r


Цитата:
посередине кнопка

Посредине чего?


Цитата:
щелчком по этой кнопке открывается bat в котором прописан линк на запуск winamp

А нельзя сделать сразу открытие этого самого линка?


Цитата:
Можно что-нибудь прописать чтобы bat файл открывался в свернутом виде?

Опять таки нужно изменить способ запуска батника, что в принципе опять наводит на вопрос - а не легче ли запускать эту ссылочку прямо этой кнопкой?

Можно если html, запустить батник скрыто через VBScript...


Код: <SCRIPT language="VBScript">
On Error Resume Next
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run("C:\BathFile.bat ", 0, true)
</SCRIPT>
Автор: GreaseOD1
Дата сообщения: 07.01.2007 17:35
Вопрос на засыпку!!!
Пишу команду:
net use \\host\c$ /user:administrator password
Если пароль неправильный, то он ругается и выдает сообщение аж в три строки:
1. System error 1326 has occurred.
2.
3. Logon failure: unknown user name or bad password.
Как можно избежать вывода на экран этих строк (если пароль или логин неправильный?)

net use \\host\c$ /user:administrator password>null -- непомогает!!!
Автор: igor_andreev
Дата сообщения: 07.01.2007 17:50
GreaseOD1
"не помогает" пишется раздельно, а "nul" с одной буквой "l". И после ">nul" через пробел добавь 2>&1
Автор: evle
Дата сообщения: 07.01.2007 18:09
AZJIO

Цитата:
Еще есть проблема - использую команду start для запуска *.exe-файла, но в пути к программе есть пробел (Program Files) и путь не воспринимается полностью. Если заключить путь в кавычки, то путь тоже не воспринимается.

Если прочитать start /?, можно понять, что набор символов в кавычках воспринимается как заголовок окна. Чтобы работало нормально, нужно поставить ещё одну пару кавычек:
start "" "Путь к программе"

ViSiToR

Цитата:
Ну или весь путь заключить в двойные кавычки два раза...

Так не срабатывает.

fl1pp3r

Цитата:
Можно что-нибудь прописать чтобы bat файл открывался в свернутом виде?

Шапка:

Цитата:
cmdow — изменение параметров и видимости дос-окна


Автор: GreaseOD1
Дата сообщения: 07.01.2007 19:49

Цитата:
GreaseOD1
"не помогает" пишется раздельно, а "nul" с одной буквой "l". И после ">nul" через пробел добавь 2>&1


Не помогает - это я поспешил!! ))). Давно увлекаюсь cmd, но "2>&1" не видел!!! Что это?
Заранее спасибо за всё!!!
Автор: Smitis
Дата сообщения: 07.01.2007 22:55
GreaseOD1

Цитата:
Давно увлекаюсь cmd, но "2>&1" не видел!!! Что это?

Ну почему никто не любит читать, пользоваться поиском, думать? На предыдущей странице я об этом уже писал - где смотреть.
http://forum.ru-board.com/topic.cgi?forum=62&topic=9040&start=440#11
Автор: MegaSin
Дата сообщения: 07.01.2007 23:27
возникла задача:
есть файлы в папке - пусть их 10 %n%.txt
скрипт должен пересчитать файлы и вывести что то вроде
1 - 1.txt
2 - 2.txt
и т.д.
при этом он должен создать взависимости от кол-ва файлов :install%n%
т.е должно получится через set /p выбор не по имени файла. а по присвоенному ему номеру
т.е выводится список
1 - 1.txt
2 - 2.txt
и вопрос "какой файл"
я нажимаю "1" и исполюзуется файл 1.txt
пересчитать файлы смог, вывести тоже, а с использованием не знаю как сделать
заранее спс
Автор: Elroir
Дата сообщения: 07.01.2007 23:34
Maza Faka
Следующий код может не работать, если в ini файле используются спец. символы:

Код:
@echo off
setlocal enabledelayedexpansion
for /L %%C in (1,1,10) do (
ping -n 1 -w 1000 192.168.0.%%C | find "TTL=">nul
if !errorlevel!==0 set %%C=OK
)
del /q tmp_file 2>nul
for /f "tokens=*" %%I in (file.ini) do call :check %%I
if exist tmp_file (
del /q file.ini
ren tmp_file file.ini
)
goto :EOF

:check
for /f "delims==\. tokens=1,5" %%A in ("%*") do (
if "%%A"=="SetVideoFolderPath" (
if defined %%B echo %*>>tmp_file) else (echo %*>>tmp_file)
)
Автор: AZJIO
Дата сообщения: 08.01.2007 03:47
ViSiToR
evle
Elroir

Спасибо
Автор: ViSiToR
Дата сообщения: 08.01.2007 07:13
MegaSin
Попробуй такой вариант:


Код: @echo off
Set Ext=txt
Set FOLDER=C:\Folder
CD "%FOLDER%"
If Not Exist "%FOLDER%\*.%Ext%" Goto ExitError
:Again
Echo -----Files List-----
For %%a In (*.%Ext%) Do Echo %%~na - %%a
Echo.
Echo Type FileName from list...
Echo --------------------------
Set /p Answer=
If /i %Answer% == Exit Exit
If Not Exist %Answer%.%Ext% (
Echo You type wrong FileName, please try again...
Ping -n 4 localhost > nul
Cls
Goto Again
)
Echo What you want to do with chousen file %Answer%.%Ext% ?
Echo.
Pause
:::
:::
Exit
:ExitError
Echo Error - Files %FOLDER%\*.%Ext% wasn't found
Ping -n 5 localhost > nul
Автор: fl1pp3r
Дата сообщения: 08.01.2007 14:26
ViSiToR

Цитата:
Посредине чего?

Посередине рабочего стола

Цитата:
А нельзя сделать сразу открытие этого самого линка?

Нет, internet explorer начинает его скачивать

Цитата:
запустить батник скрыто через VBScript...

Не догоняю что-то если заменить href="start.bat скриптом, то картинка рабочего стола сбивается

Вот код html файла:

Код:
<html>
<head>
<title>????????</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body marginheight="0" topmargin="0" leftmargin="0" marginwidth="0" BGCOLOR="#000000">
<table width="1280" height="336" border="0" cellpadding="0" cellspacing="0"><tr><td><img src="C:/wp/images/genadesktop_01.jpg" width="1280" height="336"></td></tr></table>
<table width="1280" height="326" border="0" cellpadding="0" cellspacing="0"><tr><td width="467" height="326"><img src="C:/wp/images/genadesktop_02.jpg" width="467" height="326"></td><td width="328" height="326"><a onmouseover="document.h.src='C:/wp/images/genadesktop_03-over.jpg';" onmouseout="document.h.src='C:/wp/images/genadesktop_03.jpg';" onmousedown="document.h.src='C:/wp/images/genadesktop_03-down.jpg';" href="start.bat"><img src="C:/wp/images/genadesktop_03-over.jpg" name="h" border="0"></a></td><td width="485" height="326"><img src="C:/wp/images/genadesktop_04.jpg" width="485" height="326"></td></tr></table>
<table width="1280" height="336" border="0" cellpadding="0" cellspacing="0"><tr><td><img src="C:/wp/images/genadesktop_05.jpg" width="1280" height="362"></td></tr></table>
</body>
</html>
Автор: alankz
Дата сообщения: 08.01.2007 15:20
кто нибуть знает как в bat файл засунуть exe файл и чтобы при запуске bat файла exe распаковывалась из bat и выполнялась
Автор: drondo
Дата сообщения: 08.01.2007 16:08
alankz
такое нельзя, bat файл это обычный текстовый файл. единственное что возможно-открыть любым hex редактором экзешник, скопировать содержимое в файл, и сохранить с расширением exe. Но думаю это не то что тебе нужно
Автор: Maza Faka
Дата сообщения: 08.01.2007 16:44
AZJIO

Цитата:
Еще есть проблема - использую команду start для запуска *.exe-файла, но в пути к программе есть пробел (Program Files) и путь не воспринимается полностью. Если заключить путь в кавычки, то путь тоже не воспринимается. Без команды start путь в ковычках воспринимается, но тогда следующие команды в батнике не запускаются... что делать?

Попробуй так: start /d"C:\Program Files\Program\" program.exe

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Сбой активации XP sp2


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.