Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах

Модерирует : KLASS, IFkO

vu1tur (14-11-2006 16:59): http://forum.ru-board.com/topic.cgi?forum=62&topic=9040  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

   

hacsoft

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задачи на bat-файлах
Вопросы, задачи и их решения по работе с командными файлами, а также сопутствующие ссылки.
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Программы » Командная строка, батники\сценарии
 
Полезные ссылки:
· Cmd. Описание от разработчиков
· Набор GNU утилит для win32
· Встроенный справочник по командам: hh ntcmds.chm
· Пакет утилит для организации интерфейса в bat-файлах
· Использование ansi.sys
· cmdow — изменение параметров и видимости дос-окна
· blat — отправка почты из консоли
 
Готовые решения и частые вопросы:
· Создание листинга директорий на примере создания плейлиста
· Разименовывание переменных
· Переименовывание файлов по дате создания
· Запуск сетевого подключения
· Запуск bat файлов как сервис
· Пример выполнения команд по результату команды ping
· Использование даты на день раньше чем сегодня
 
Невозможности — что нельзя сделать с помощью командных файлов:
· изменть конфигурацию IP на удаленной машине (без помощи rcmd.exe) [добавил ALEF]
 
 
Дополняем шапку: добавляем готовые решения, полезные ссылки.
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Старая версия первого сообщения

Всего записей: 116 | Зарегистр. 18-11-2005 | Отправлено: 22:58 18-11-2005 | Исправлено: Elroir, 05:50 11-11-2006
kovdaev

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо Elroir.
 
Только если можно расшифруй строку
del list.txt        
 
 

Всего записей: 9 | Зарегистр. 10-10-2005 | Отправлено: 21:32 04-10-2006
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kovdaev
Интересно, в каком браузере ты просматриваешь форум?
В оригинале строчка "del list.txt", после нее у меня было несколько пробелов.
Именно они и показываются у тебя как "  ..." - это тэги HTML.  

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 23:32 04-10-2006
Shish_kebab



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
nightlight
Kirillhome
Спасибо!




Все "спасибы" в ПМ.

Всего записей: 372 | Зарегистр. 14-07-2005 | Отправлено: 00:27 05-10-2006 | Исправлено: evle, 19:27 10-10-2006
kovdaev

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Интересно, в каком браузере ты просматриваешь форум?  
В оригинале строчка "del list.txt", после нее у меня было несколько пробелов.  
Именно они и показываются у тебя как "  ..." - это тэги HTML.  
 
*****************************
 
Ответы приходят по почте, в Outlook Express

Всего записей: 9 | Зарегистр. 10-10-2005 | Отправлено: 12:24 05-10-2006
anatoliy27190



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужен батник который бы удалял все папки и файлы в определенной директории.
Поможите плиз
 
Добавлено:
соответственно чтоб все в лог писалось  

Всего записей: 25 | Зарегистр. 14-06-2006 | Отправлено: 15:32 05-10-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
anatoliy27190

Код:
 
@Echo Off
PushD "C:\Некая папка для удаления"
Dir /S >C:\LOG_Delete.Log
RD /Q /S .
PopD
 


Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:51 05-10-2006
DocBeen



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
uart78

Цитата:
Я так понял rasdial подходит только для подключений удаленного доступа, типа диалап.  
Для высокоскоростных судя по всему rasdial не подхолит .  Ты наверное , как и я хочеш использовать  именно с таким подключением?

ну в принципе да... только у меня VPN соединение с интернетом, так и надо чтоб все автоматом запускалось...
 
KapralBel

Цитата:
DocBeen  
Т.е. пароль ты вводишь ручками?

 пароль я ввожу ручками и в свойствах соединения указал только показывать ход подключения и все, поставив пароль я про него забыл вообще что он его запрашивает...

Всего записей: 147 | Зарегистр. 15-07-2005 | Отправлено: 16:59 05-10-2006
anatoliy27190



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
[q][/q]
 Мне нужно очищать общий сетевой ресурс - расшареную папку- в которой пользователи создают разные подпапки и файли.
Содержимое постоянно меняется поэтому указать какие именно подпапки удалить я не могу. Сответственно команда   RD /Q /S  удаляет саму папку что не приемлемо.

Всего записей: 25 | Зарегистр. 14-06-2006 | Отправлено: 18:01 05-10-2006
DocBeen



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
и еще, ребята помоги вот еще с чем, подскажите как можно сделать следующее:
имеем установочный диск с софтом необходимо установить пару программ и кое что добавить в те папки где софт устонавливается, причем файлы которые идут с дистрибутивом могут отличатся от тех котрые добовляем:
в крадце имеем: setup1.exe , setup2.exe, dll_setup1_1.exe, dllsetup1_2.exe,
dllsetup1_1 и dllsetup1_2 поумолчанию встают в Programm Files, в нужный каталог, надо одним батником установить две или три программы и для каждой их них подмеенить обновленные dll для каждой из программ, делается это все для ускоренной установки на кучу машин....
если возможно все перечисленное буду очень признателен...

Всего записей: 147 | Зарегистр. 15-07-2005 | Отправлено: 18:03 05-10-2006
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
anatoliy27190
А если после удаления, создавать заново эту директорию?
Если такой вариант приемлим, тогда чуть изменяем код KapralBel-а:

Код:
 
@Echo Off  
dir /S "C:\Некая папка для удаления" > C:\LOG_Delete.Log  
rd "C:\Некая папка для удаления" /Q /S
md "C:\Некая папка для удаления"  
 


Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 19:47 05-10-2006
Den_Klimov



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir

Цитата:
А если после удаления, создавать заново эту директорию?

Это не вариант. По очень многим причинам. Самые простые и банальные - атрибуты директории - к примеру только чтение, скрытый, системный, да и вообще вся информация о ней и с ней связанная будет удалена.
 
anatoliy27190 же хочет чтобы директорию не трогали вообще, а лишь очищали её содержимое!

Всего записей: 317 | Зарегистр. 27-02-2006 | Отправлено: 19:50 05-10-2006 | Исправлено: Den_Klimov, 19:50 05-10-2006
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Den_Klimov
Понял.
anatoliy27190
Тогда так:

Код:
 
dir /s "c:\directory" > c:\delete.log  
dir "c:\directory" /ad /b > c:\dirlist.txt
for /F %%i in (c:\dirlist.txt) do rd "c:\directory\%%i"  /s /q
del /q "c:\directory\*.*"
del c:\dirlist.txt
 

"c:\directory" меняешь на удаляемую директорию.
Лог создается в c:\delete.log. Если нужно в другом месте - просто меняешь путь.

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 20:13 05-10-2006 | Исправлено: Elroir, 20:14 05-10-2006
Smitis



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
anatoliy27190

Цитата:
Мне нужно очищать общий сетевой ресурс - расшареную папку- в которой пользователи создают разные подпапки и файли.  
Содержимое постоянно меняется поэтому указать какие именно подпапки удалить я не могу. Сответственно команда   RD /Q /S  удаляет саму папку что не приемлемо.

Перед удалением через rd/s/q сделай папку текущей командой cd/d или pushd

Всего записей: 3177 | Зарегистр. 09-02-2003 | Отправлено: 20:26 05-10-2006
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smitis

Цитата:
Перед удалением через rd/s/q сделай папку текущей командой cd/d или pushd
Чем именно это поможет?

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 21:08 05-10-2006
Smitis



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Elroir
Папка будет залочена. Будет выдано сообщение об ошибке, которое можно отправить в NUL.
Пример удаления папки c:\temp\dddd

Код:
 
@echo off
cd /d c:\temp\dddd
rd /s/q . 2> nul
 


Всего записей: 3177 | Зарегистр. 09-02-2003 | Отправлено: 21:30 05-10-2006
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Smitis
Ты абсолютно прав

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 21:41 05-10-2006
CoDeR



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Столкнулся со странной ситуацией.  
Хочу запустить игру (HoMM 5), но так, чтобы перед запуском загружался FRAPS. Пишу CMD следующего содержания:

Код:
start C:\Tests\FRAPS\fraps.exe
start E:\Games\HEROES~1\bin\H5_Game.exe

После запуска CMD загружается FRAPS, затем начинается загрузка игры, начинает затухать экран (т.е. загрузка началась) как и положено, но далее вместо вывода логотипа, появляется окно с ошибкой:
Заголовок окна - "H5_Game.exe - Ошибка приложения"
Текст окна - "Инструкция по адресу ... обратилась к памяти по адресу ... Паямять не может быть read".
Игра разумеется дальше не стартует и вываливается в винды. Само собой, что запуск самого EXE, как и его ярлыка присходит без проблем.
 
Команды cd /d и pushd не помогли.

Всего записей: 1281 | Зарегистр. 01-11-2002 | Отправлено: 00:09 06-10-2006
Den_Klimov



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Если нужно логирование удаления, добавляем строку dir /s >"%TEMP%\Delete.Log".
cd /d "%TEMP%\123"
dir /s >"%TEMP%\Delete.Log"
rd /s /q . 2> nul

Всего записей: 317 | Зарегистр. 27-02-2006 | Отправлено: 00:16 06-10-2006
AnexeR

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
anatoliy27190
Elroir
Den_Klimov
Smitis
Лучше использовать pushd popd как правильно предложил KapralBel. Тогда производится выход из каталога и восстанавливается статус кво. И последующие команды вроде del "1.txt" /f /q сработают так как запланировано (1.txt будет искаться в каталоге где находится сам батник, а не в каталоге из которого мы удаляем содержимое).
Пример:
pushd "%TEMP%\123"
dir /s >"%TEMP%\Delete.Log"
rd /s /q . 2> nul
popd
del "1.txt" /f /q
 
Окончательный скрипт для полного удаления содержимого любого каталога (без логирования):
 
pushd "%~dp0\123"
rd /s /q .
popd
 
%~dp0 - эта переменная вычисляет каталог в котором находится сам батник.
Да. Пробелы в конце строк не забываем убирать.

Всего записей: 133 | Зарегистр. 17-07-2004 | Отправлено: 00:44 06-10-2006 | Исправлено: AnexeR, 01:54 06-10-2006
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CoDeR
У меня такое впечатление, что FRAPS просто не успевает запуститься.
Для задержки добавь строчку  
for /L %%b in (1,1,5000) do @echo %%b >nul
(или любой другой способ задержки) после строчки запуска FRAPS и посмотри, что получится.
Если все нормально, меняй 5000 на меньшее значение.
P.S. Я надеюсь что это не несовместимость fraps и heroes?

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 01:09 06-10-2006 | Исправлено: Elroir, 01:14 06-10-2006
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

Компьютерный форум Ru.Board » Операционные системы » Microsoft Windows » Задачи на bat-файлах
vu1tur (14-11-2006 16:59): http://forum.ru-board.com/topic.cgi?forum=62&topic=9040


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru