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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Etalon

BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tomegadeth
 
На счёт проверки согласен
А вот рекурсия совсем не нужна
достаточно rd с параметром /s
 
Добавлено:
YFred

Код:
 
@Echo off
if "%~1" == "" (
   echo Usage: DelFolder.cmd FolderName
   pause
   goto :eof  
)
del /s /q "%~1\*.*"
 
for /D %%d in ("%~1\*") do rmdir /s/q "%%d"
 

Хотя если уж совсем по правильному делать, то надо и на системные папки проверку ставить.

Всего записей: 306 | Зарегистр. 03-02-2006 | Отправлено: 13:26 10-02-2006 | Исправлено: Etalon, 14:22 10-02-2006
NoName_GAmer

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
slech
Вводить...но у чтоб он не был виден при вводе..

Всего записей: 2 | Зарегистр. 09-02-2006 | Отправлено: 14:39 10-02-2006
Vitus_Bering



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

Цитата:
 
имя скрипта delempty.cmd  
 
Код:
 
@echo off  
for /d %%i in (%1\*) do (  
call delempty.cmd "%%i"  
rd "%%i"  
)  
 

 
А в bat-файле так просто не получится сделать?

Всего записей: 933 | Зарегистр. 30-09-2005 | Отправлено: 14:45 10-02-2006
smf

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Переименуй delempty.cmd в delempty.bat и исправь "call delempty.cmd" на "call delempty.bat".

Всего записей: 166 | Зарегистр. 15-11-2002 | Отправлено: 15:04 10-02-2006 | Исправлено: smf, 15:06 10-02-2006
Vitus_Bering



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
При запуске выдает:  'for /d %i in ("%i"\*) do (' - синтаксическая ошибка

Всего записей: 933 | Зарегистр. 30-09-2005 | Отправлено: 15:32 10-02-2006
smf

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

Всего записей: 166 | Зарегистр. 15-11-2002 | Отправлено: 15:35 10-02-2006
Vitus_Bering



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

Всего записей: 933 | Зарегистр. 30-09-2005 | Отправлено: 15:38 10-02-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Vitus_Bering
Команда for работает только на WinNT/2000/XP/2003 - так, что придется писать на VBS/JS
Либо сторонними программами

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



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
smf, KapralBel
Спасибо за помощь.
 

Всего записей: 933 | Зарегистр. 30-09-2005 | Отправлено: 15:50 10-02-2006
smf

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
for должен работать в Win9x, т. к. это одна из Native Windows 95 Commands .
 
Ты действительно так написал или это здесь опечатка:

Цитата:
for /d %i in ("%i"\*) do (

, там вместо 2-ой %i, что в скобках, должен быть %1.

Всего записей: 166 | Зарегистр. 15-11-2002 | Отправлено: 16:38 10-02-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
smf
Вот возможности for от Вин98

Код:
 
Запуск указанной команды для каждого из файлов в наборе.
 
FOR %переменная IN (набор) DO команда [параметры]
 
  %переменная  Подставляемый параметр.
  (набор)      Набор, включающий один или более файлов.  
               Допускается использование подстановочных знаков.
  команда      Команда, выполняемая для каждого из файлов в наборе.
  параметры    Параметры и ключи, необходимые для выполнения команды.
 
При использовании команды FOR в пакетном файле вместо записи %переменная  
следует использовать запись %%переменная.
 

Ср. с ХР-ной

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я только что тоже ходил проверял на 98-ой: там нет такого ключа как /d.
Получается просто убрать его. Ведь rd всё равно не умеет херить файлы, только папки.
И надо всё написать в одну строчку, я думаю.
 
Надо тестить на 98-ой, а у меня она на работе (на 2-ух компах ещё осталась), а я пошёл домой. Найти бы где-нибудь помощь по коммандной строке в 9x.

Всего записей: 166 | Зарегистр. 15-11-2002 | Отправлено: 17:07 10-02-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
smf
help - список команд
Команда /? - помощь по ней

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 17:09 10-02-2006
Vitus_Bering



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Строка в bat-файле:
for %%i in (%1\*) do (call delempty.bat "%%i" rd "%%i")  
в Win98 не удаляет пустые папки и об ошибках не пишет.
Где ошибка?

Всего записей: 933 | Зарегистр. 30-09-2005 | Отправлено: 17:36 10-02-2006
smf

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
Это я знаю. Просто у меня 98-ой нет.
 
Vitus_Bering

Цитата:
(call delempty.bat "%%i" rd "%%i")

Так нельзя писать: всё что после delempty.bat будет считаться параметрами, а тебе надо, чтобы call и rd вызвались по-очереди.
Попробуй так: (call delempty.bat "%%i" & rd "%%i")

Всего записей: 166 | Зарегистр. 15-11-2002 | Отправлено: 18:26 10-02-2006
Vitus_Bering



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
smf
Этот вариант не работает.
В XP также не работает delempty.cmd.

Всего записей: 933 | Зарегистр. 30-09-2005 | Отправлено: 19:01 10-02-2006
Verter



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Задача: отключить сетевой интерфейс из командной строки. Готов выкачивать утилиты. Возможно, нужно задействовать Win Script Host.

Всего записей: 598 | Зарегистр. 10-01-2004 | Отправлено: 20:05 10-02-2006
KapralBel



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

Цитата:
(call delempty.bat "%%i" & rd "%%i")

Это про &

Цитата:
Do (Команда1 Команда2)

Это про группировку команд в скобках
в 98-й не работают - это вкусности ХР
 
Переходите по метке а там делайте что нужно
 

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 20:46 10-02-2006
Refugee

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Verter
Скачиваешь с майкрософт devcon (download.microsoft.com/download/1/1/f/11f7dd10-272d-4cd2-896f-9ce67f3e0240/devcon.exe)
и пишешь:
devcon disable "@PCI\VEN_10B7&DEV_9055&SUBSYS_905510B7&REV_30\4&3AB31F7F&0&20F0"
 
строку, которую надо писать после @, в XP/2003 можно посмотреть в Device Manager (вкладка Details,  Device Instance ID), в Win2k надо искать в результатах devcon hwids *

Всего записей: 512 | Зарегистр. 31-03-2004 | Отправлено: 23:10 10-02-2006
Verter



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Refugee
Тот же симптом. Локальная сеть исчезает (пинг мертвый)(хотя не могу найти как вырубить инет через РРРОЕ), но ярлык все равно включен и опция выключить все равно доступна. По этому включить только после перезагрузки / выходе текущего юзера из ОС.

Всего записей: 598 | Зарегистр. 10-01-2004 | Отправлено: 01:05 11-02-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.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru