<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Ваш личный островок в океане информации | ait.3dn.ru |</title>
		<link>https://ait.3dn.ru/</link>
		<description>Форум - | ait.3dn.ru |</description>
		<lastBuildDate>Sat, 02 May 2009 18:38:36 GMT</lastBuildDate>
		<generator>uCoz Web-Service</generator>
		<atom:link href="https://ait.3dn.ru/forum/rss" rel="self" type="application/rss+xml" />
		
		<item>
			<title>BAT/CMD файлы</title>
			<link>https://ait.3dn.ru/forum/9-19-1</link>
			<pubDate>Sat, 02 May 2009 18:38:36 GMT</pubDate>
			<description>Форум: &lt;a href=&quot;https://ait.3dn.ru/forum/9&quot;&gt;Операционные Системы: Windows &amp; *NIX&lt;/a&gt;&lt;br /&gt;Описание темы: BAT/CMD файлы&lt;br /&gt;Автор темы: Xsoul&lt;br /&gt;Автор последнего сообщения: Xsoul&lt;br /&gt;Количество ответов: 0</description>
			<content:encoded>&lt;b&gt;&lt;span style=&quot;color:red&quot;&gt;Архивирование по расписанию и запись архива на CD-RW&lt;/span&gt; &lt;p&gt; echo off &lt;br /&gt; rar a 1C_ -agYYYY.MM.DD -dh -m5 @c:&amp;#92;windows&amp;#92;rarfiles.lst &lt;br /&gt; G: &lt;br /&gt; cd&amp;#92; &lt;br /&gt; cd BACKUP_ALL&amp;#92;Sheduler &lt;br /&gt; copy *.rar G:&amp;#92;BACKUP_ALL&amp;#92;CD-RW &lt;br /&gt; copy *.rar G:&amp;#92;BACKUP_ALL&amp;#92;1C_BASES &lt;br /&gt; cd .. &lt;br /&gt; cdimage -g -h -n -o -w1 -m CD-RW BackUp-1c.iso &lt;br /&gt; cdburn H: -erase &lt;br /&gt; cdburn H: -sao BackUp-1c.iso &lt;br /&gt; echo Y|erase BackUp-1c.iso &lt;br /&gt; cd CD-RW &lt;br /&gt; echo Y|erase *.rar &lt;br /&gt; cd .. &lt;br /&gt; cd Sheduler &lt;br /&gt; echo Y|erase *.rar &lt;p&gt; пример rarfiles.lst &lt;br /&gt; D:&amp;#92;BASES1C&amp;#92;2007~1 (если более чем 8.3) &lt;br /&gt; D:&amp;#92;BASES1C&amp;#92;PT2005 &lt;p&gt; P.S. забыл сказать, что у майкрософт есть бесплатные утилиты для пакетной работы с CD/DVD &lt;br /&gt; cdimage &lt;br /&gt; cdburn &lt;br /&gt; dvdburn&lt;/b&gt; &lt;p&gt; ************************************************** ************** &lt;br /&gt; &lt;span style=&quot;color:red&quot;&gt;&lt;b&gt;Отключение компьютера по условию&lt;/b&gt;&lt;/span&gt; &lt;br /&gt; Иногда требуется чтобы компьютер был выключен после того как какой-нибудь скрипт/батник выполнил свою задачу. &lt;br /&gt; Для этого надо чтобы скрипт/батник в конце работы скопировал какой-нибудь файл, например, на С: (или куда вам угодно) &lt;br /&gt; Почему не просто установить время отключения фиксировано? Очень просто: в больших организациях Б/Д разрастаются просто &lt;br /&gt; как на дрожжах и поэтому трудно скорректировать время отключения. И еще один момент, можно воспользоваться внутренней &lt;br /&gt; командой shutdown для отключения виндовс, но мной было замечено, что очень часто эта команда не может выключить РС. &lt;br /&gt; Поэтому я воспользовался XP Tweake. Работает великолепно. &lt;br /&gt; Только надо чтобы при включении компьютера удалялся файл C:&amp;#92;halt.h &lt;br /&gt; Это удобно когда, например, машина &quot;А&quot; забрала еже-ночной/дневной архив с машины &quot;В&quot; и оповестила об этом &lt;br /&gt; удаленный компьютер скопировав туда halt.h (название файла конечно произвольное) &lt;p&gt; &lt;b&gt;if not exist C:&amp;#92;halt.h GOTO Alles &lt;br /&gt; C: &lt;br /&gt; cd&amp;#92; &lt;br /&gt; cd &quot;Program Files&amp;#92;XP Tweaker&quot; &lt;br /&gt; XPTweaker.exe /shutdown /force &lt;br /&gt; :Alles &lt;br /&gt; exit &lt;br /&gt; &lt;/b&gt; &lt;br /&gt; ************************************************** *************** &lt;br /&gt; &lt;b&gt;&lt;span style=&quot;color:red&quot;&gt;Как из пакетного файла сделать экспорт реестра&lt;/span&gt;&lt;/b&gt; &lt;br /&gt; Иногда возникает необходимость сохранить в файл определенный куст (ветку) реестра со всеми параметрами в качестве бэкапа или для других целей. Сделать это из пакетного файла можно при помощи такой команды: &lt;p&gt; &lt;b&gt;regedit.exe -ea C:&amp;#92;environment.reg &quot;HKEY_CURRENT_USER&amp;#92;Environment&quot;&lt;/b&gt; &lt;p&gt; Данная команда при выполнении пакетного файла выгрузит ветку HKEY_CURRENT_USER&amp;#92;Environment в файл C:&amp;#92;environment.reg Когда потребуется восстановить значения параметров в HKEY_CURRENT_USER&amp;#92;Environment, будет достаточно запустить файл environment.reg. Эту команду можно использовать для ежедневного бэкапа настроек программного обеспечения и системы, которые хранятся в реестре. &lt;br /&gt; Не забывайте, что если в пути, по которому должен быть сохранен выходной файл или в имени ветки реестра есть пробел, то их необходимо заключить в кавычки. &lt;p&gt; ************************************************** ***************** &lt;p&gt; &lt;span style=&quot;color:red&quot;&gt;&lt;b&gt;Как из bat файла обойти проверку даты&lt;/b&gt;&lt;/span&gt; &lt;br /&gt; Некоторое программное обеспечение при запуске проверяет текущую системную дату. Если дата больше, чем заложено разработчиком, то программа не запускается. Например, разработчик считает, что версия программы может отработать месяц, а потом пользователь должен будет установить обновленную версию программы. С одной стороны это забота о пользователе, который будет иметь в своем распоряжении свежую версию программы с устраненными недочетами, по отношению к прошлым версиям. С другой стороны, производитель вынуждает пользователя скачивать новую версию даже если пользователя полностью устраивает та версия программы, которая у него установлена. Данную проблему можно легко решить при помощи следующего пакетного файла, который будет запускать программу, дожидаться ее завершения и возвращать дату на ту, которая была до запуска программы. &lt;br /&gt; &lt;b&gt; &lt;br /&gt; set tempdate=%date:~-10% &lt;br /&gt; date 01-01-04 &lt;br /&gt; notepad.exe &lt;br /&gt; date %tempdate%&lt;/b&gt; &lt;p&gt; В данном примере текущая системная дата сначала сохраняется в переменной, затем (во второй строке) системная дата устанавливается на 1-е января 2004 года, а потом вызывается программа, которая проверяет системную дату. В данном примере это Блокнот. До тех пор, пока открыт Блокнот, пакетный файл находится в ожидании, не завершаясь и не переводя системную дату обратно. Как только Блокнот будет закрыт, пакетный файл продолжит свое выполнение и установит системную дату на сохраненное в переменной tempdate значение, т.е. на то, которое было до запуска пакетного файла. &lt;br /&gt; Не забывайте, что если путь до файла, которым запускается программа, содержит пробелы, то его (путь) необходимо заключить в кавычки. Если путь содержит кириллицу, то при написании пакетного файла необходимо использовать текстовый редактор, поддерживающий кодировку DOS (например, FAR). В противном случае, при запуске пакетного файла будет выведено сообщение о том, что &quot;указанный файл не является внутренней или внешней коммандой...&quot;. &lt;br /&gt; Если программа проверяет текущую системную дату только при своем запуске и во время работы больше этого не делает, то пакетный файл можно модифицировать, добавив перед именем исполняемого файла программы оператор start, т.е. наш пример будет выглядеть так: &lt;br /&gt; &lt;b&gt; &lt;br /&gt; set tempdate=%date:~-10% &lt;br /&gt; date 01-01-04 &lt;br /&gt; start notepad.exe &lt;br /&gt; date %tempdate%&lt;/b&gt; &lt;p&gt; В этом случае, пакетный файл изменит системную дату, запустит программу и не дожидаясь ее завершения вернет дату на ту, которая была до запуска программы. &lt;p&gt; ************************************************** ******** &lt;br /&gt; &lt;span style=&quot;color:red&quot;&gt;&lt;b&gt;Как изменить IP адрес компьютера из пакетного файла&lt;/b&gt;&lt;/span&gt; &lt;p&gt; IP адрес можно изменить при помощи команды netsh. &lt;br /&gt; Чтобы правильно сменить IP адрес, сначала надо выяснить текущую конфигурацию. Сделать это можно в командной строке при помощи команды &lt;p&gt; &lt;b&gt;netsh interface ip show address&lt;/b&gt; &lt;p&gt; Результат работы этой команды - отображение текущей конфигурации сетевого интерфейса. Нас интересует название интерфейса. Предположим, что он называется FASTNET. &lt;br /&gt; Предположим, что нужно сменить IP адрес на 192.168.1.42, адресация в сети статическая, без использования DHCP, шлюз 192.168.1.1, маска 255.255.255.0 В этом случае, команда, которая должна быть выполнена из пакетного файла будет выглядеть следующим образом: &lt;p&gt; &lt;b&gt;netsh interface ip set address name=&quot;FASTNET&quot; static 192.168.1.42 255.255.255.0 192.169.1.1 1&lt;/b&gt; &lt;p&gt; После выполнения этой команды у интерфейса FASTNET IP адрес сменится на 192.168.1.42. &lt;br /&gt; Команда netsh предоставляет широкие возможности по управлению сетевыми настройками из командной строки. Для ознакомления с другими ее функциональными возможностями пользуйтесь справкой при помощи&lt;b&gt; netsh /?&lt;/b&gt; &lt;p&gt; ************************************************** ********** &lt;br /&gt; &lt;b&gt;&lt;span style=&quot;color:red&quot;&gt;Передаём параметры бат-файлу&lt;/span&gt;&lt;/b&gt; &lt;br /&gt; Иногда случается, что надо сотрудницам ежедневно делать одну и туже работу: &lt;br /&gt; подготовить отчет за какой-то отчетный период,создать какой-то каталог и положить в него файлы, &lt;br /&gt; заархивировать и потом куда-то отправить. &lt;br /&gt; Процесс &quot;создать, положить и заархивировать&quot; можно автоматизировать, чем облегчить труд секретаря, бухгалтера или еще кого. &lt;br /&gt; (исправте только названия и пути) &lt;br /&gt; &lt;b&gt;Rem Сбор данных для отправки в Офис &lt;br /&gt; Rem При смене года измените руками d05%1%2a.xls на d06%1%2a.xls, &lt;br /&gt; Rem w05%1%2а.xls на w06%1%2а.xls, B05%1%2A.txt на B06%1%2A.txt, &lt;br /&gt; Rem O05%1%2A.TXT на O06%1%2A.TXT и 2005%1%2 на 2006%1%2 &lt;p&gt; If Not /%1/==// goto GoOn1 &lt;br /&gt; Echo Параметры: ММ ДД &lt;br /&gt; Echo Первый параметр - номер месяца &lt;br /&gt; Pause &gt; Nul &lt;br /&gt; goto Alles &lt;p&gt; :GoOn1 &lt;br /&gt; If Not /%2/==// goto GoOn2 &lt;br /&gt; Echo Параметры: ММ ДД &lt;br /&gt; Echo Второй параметр - номер дня &lt;br /&gt; Pause &gt; Nul &lt;br /&gt; goto Alles &lt;p&gt; :GoOn2 &lt;p&gt; G: &lt;br /&gt; cd&amp;#92; &lt;br /&gt; cd G:&amp;#92;Otchet&amp;#92;_Out&amp;#92;_alw &lt;br /&gt; mkdir f634 &lt;br /&gt; cd.. &lt;br /&gt; cd G:&amp;#92;Otchet&amp;#92;_Out&amp;#92;_alw&amp;#92;f634 &lt;p&gt; Copy M:&amp;#92;Work&amp;#92;OVP&amp;#92;F634*.frm O06%1%2A.TXT &lt;br /&gt; Copy G:&amp;#92;PrBank&amp;#92;MOD&amp;#92;RABM1&amp;#92;Text&amp;#92;B06%1%2A.txt &lt;br /&gt; Copy G:&amp;#92;PrBank&amp;#92;MOD&amp;#92;RABM5&amp;#92;Text&amp;#92;B06%1%2A.txt &lt;br /&gt; Copy G:&amp;#92;PrBank&amp;#92;MOD&amp;#92;RABM9&amp;#92;Text&amp;#92;B06%1%2A.txt &lt;br /&gt; Arj m SPOSAD *.TXT &lt;br /&gt; c: &lt;br /&gt; :Alles&lt;/b&gt; &lt;p&gt; ************************************************** ************ &lt;br /&gt; &lt;span style=&quot;color:red&quot;&gt;&lt;b&gt;Создаем каталог &lt;/b&gt;&lt;/span&gt; &lt;br /&gt; Если вы каждый день создаете каталог в формате DD MM, то этот процесс можно облегчить &lt;br /&gt; если использовать этот бат-файл &lt;br /&gt; Rem Создаем каталог &lt;br /&gt; &lt;b&gt;[b]If Not /%1/==// goto GoOn1 &lt;br /&gt; Echo Параметры: DD MM &lt;br /&gt; Echo Первый параметр - номер дня &lt;br /&gt; goto Alles &lt;p&gt; :GoOn1 &lt;br /&gt; If Not /%2/==// goto GoOn2 &lt;br /&gt; Echo Параметры: DD MM &lt;br /&gt; Echo Второй параметр - номер месяца &lt;br /&gt; GoTo Alles &lt;p&gt; :GoOn2 &lt;p&gt; g: &lt;br /&gt; cd&amp;#92; &lt;br /&gt; cd otchet&amp;#92;_in &lt;br /&gt; mkdir %1%2&lt;/b&gt; &lt;p&gt; ************************************************** ****************** &lt;br /&gt; &lt;span style=&quot;color:red&quot;&gt;&lt;b&gt;Как запретить повторный запуск приложения&lt;/b&gt;&lt;/span&gt; &lt;br /&gt; Если приложение запускается bat-файлом, то отследить (и запретить) его повторный запуск можно таким образом: &lt;br /&gt; &lt;b&gt;pslist.exe -e &quot;процесс&quot;&lt;/b&gt; &lt;br /&gt; &lt;b&gt;if %errorlevel%==1 start &quot;&quot; &quot;программа&quot; &lt;/b&gt; &lt;br /&gt; pslist - бесплатная утилита, которую можно скачать &lt;a class=&quot;link&quot; href=&quot;http://www.microsoft.com/technet/sysinternals/utilities/pslist.mspx&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;здесь.&lt;/a&gt; &lt;p&gt; ************************************************** ***************** &lt;br /&gt; &lt;span style=&quot;color:red&quot;&gt;&lt;b&gt;Как в bat файле дождаться появления определенного файла&lt;/b&gt;&lt;/span&gt; &lt;br /&gt; Иногда необходимо при появлении определенного файла в папке выполнить какое-то действие. Чтобы организовать проверку появления файла в папке можно использовать следующий пакетный файл &lt;p&gt; &lt;b&gt;:test &lt;br /&gt; if exist c:&amp;#92;1.txt goto go &lt;br /&gt; sleep 10 &lt;br /&gt; goto test &lt;br /&gt; :go &lt;br /&gt; notepad&lt;/b&gt; &lt;p&gt; Такой пакетный файл будет проверять с интервалом 10 секунд наличие в корне диска С файла 1.txt и когда файл 1.txt появится, будет выполнено действие, указанное после метки go, т.е. в этом примере будет запущен Блокнот. &lt;br /&gt; Утилита sleep свободно распространяется в составе Resource Kit (скачать). &lt;p&gt; Если файл 1.txt большого размера и копируется откуда-то, то может получится так, что пакетный файл проверит его наличие в то время, как файл еще не скопировался или занят другим приложением. В таком случае, попытка выполнить какие-то действия с файлом 1.txt приведет к ошибке. Чтобы этого не произошло пакетный файл можно модифицировать следующим образом &lt;p&gt; &lt;b&gt;:test &lt;br /&gt; if exist c:&amp;#92;1.txt goto go &lt;br /&gt; sleep 10 &lt;br /&gt; goto test &lt;br /&gt; :go &lt;br /&gt; rename c:&amp;#92;1.txt 1.txt &lt;br /&gt; if not errorlevel 0 goto go &lt;br /&gt; del c:&amp;#92;1.txt&lt;/b&gt; &lt;p&gt; Когда файл 1.txt скопировался на диск С не полностью, либо занят другим приложением, попытка его переименовать вызовет ошибку и цикл будет повторяться до тех пор, пока файл не скопируется полностью либо не будет освобожден. После того, как команда rename c:&amp;#92;1.txt 1.txt будет выполнена без ошибки (т.е. файл свободен), то с ним можно выполнять любые действия. В последнем примере это его удаление.</content:encoded>
			<category>Операционные Системы: Windows &amp; *NIX</category>
			<dc:creator>Xsoul</dc:creator>
			<guid>https://ait.3dn.ru/forum/9-19-1</guid>
		</item>
	</channel>
</rss>