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

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



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
привет!
 
как в батфайле узнать букву диска, в котором он находится?
 
или
 
как сделать,чтоб батфайл запросил ввод переменной?

Всего записей: 71 | Зарегистр. 09-11-2005 | Отправлено: 17:32 25-10-2006
KapralBel



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

Код:
 
@Echo Off
Echo Батник находится на диске %~d0
Set /p var=Введите диск^>
Echo Новый диск %var%:
 

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 17:56 25-10-2006 | Исправлено: KapralBel, 18:00 25-10-2006
Gizm0

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir
Спасибо огромное за помощь,только вот никак не пойму где тут переменная =))
попробовал просто код вставить и запустить,в текстовике ниче не появилось,путь правильный указал,мейби подмогешь еще малех плиз?
 

Всего записей: 4 | Зарегистр. 15-02-2006 | Отправлено: 00:09 26-10-2006
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Gizm0
Так - по порядку.
1. Ты этот мой пост читал?
2. Если не читал - прочти
3. Ты задаешь номер первой картинки (например 7), номер последней картинки (например 63) и URL (например http://gg.com/pics/), тогда, если батник называется img_links.cmd, полная команда будет выглядеть так:

Код:
img_links.cmd 7 63 http://gg.com/pics/

в коде вместо %1 подставляется 7, вместо %2 - 63, вместо %3 - http://gg.com/pics/.
После запуска, в файле html.txt создаются строчки:
<img src=http://gg.com/pics/7.jpg></img>
..
..
<img src=http://gg.com/pics/63.jpg></img>

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 00:28 26-10-2006
Gizm0

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir
Сорри немного протупил =) все разобрался сам спасибо за помощь огромное пойду спать вообщем =)))

Всего записей: 4 | Зарегистр. 15-02-2006 | Отправлено: 00:35 26-10-2006
Kronix

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возможно ли батником создать файл и вписать в него некую строчку?
 
Добавлено:
И возможно ли потом найти эту строку в файле?
 
Например:
1. хочу имена обработанных файлов кидать в файл 123
2. хочу проверить обрабатывался ли данный файл поиском в 123

Всего записей: 107 | Зарегистр. 21-03-2006 | Отправлено: 09:53 26-10-2006
isem



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Kronix
 
возможно, только надо писать конкретную задачу, а у тебя даже пример расплывчастый
 
если в батнике после задания записать ">>123" -  создастся файл 123 с результатом обработки

Всего записей: 81 | Зарегистр. 22-07-2005 | Отправлено: 12:43 26-10-2006
Kronix

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
почему же расплывчато, все конкретно. В 2 если файл обрабатывался, то нужно сделать некоторые действия.
С 1 я уже и сам разобрался, а вот второе чувствую через tokens делать надо, пытаюсь,пока никак

Всего записей: 107 | Зарегистр. 21-03-2006 | Отправлено: 14:27 26-10-2006
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kronix
Расплывчато - потому что не понятно в каком формате, ты кидаешь имена в файл.
Приведи конкретный пример - что у тебя есть в файле и что надо найти.

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 14:34 26-10-2006
isem



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

Kronix
 
лучше используй ssed. и поиск. на 80-х страницах ето описано

Всего записей: 81 | Зарегистр. 22-07-2005 | Отправлено: 15:39 26-10-2006
Kronix

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да в любой форме, хотя бы так:
 
Кидаю в файл 123:
a1.txt
a2.txt
 
Чего хочу:
Если a3.txt есть в 123, то "вы уверены, что хотите обработать файл, он уже обрабатывался" (пользоватеь говорит, ага, хочу, запускаем обработку, нет - выход), иначе занести a3.txt в 123 и запускаем обработку a3.txt
 
Желательно:
Чтобы в файлик 123 попадала ещё дата и время обработки. Ну тогда и в сообщении  "Чего хочу" добавить дату обработки последнего  такого файла

Всего записей: 107 | Зарегистр. 21-03-2006 | Отправлено: 18:16 26-10-2006
Elroir



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

Код:
 
@echo off
chcp 1251 > nul
setlocal  
set found=no
for /F "tokens=1,2,3 delims=*" %%I IN (Processed.txt) DO (
if "%%I"=="%~1" (
set found=yes
set fname=%%I
set pdate=%%J
set ptime=%%K
))
if "%found%"=="no" goto process
set /p answer=Файл %~1 уже обрабатывался %pdate% %ptime%, хотите продолжить?  
if /i "%answer%"=="n" goto exit
 
rocess
echo.%~1*%date%*%time%>> Processed.txt
rem Тут пишем строчку обработки файла
rem PROCESS %1
 
:exit
endlocal
 

В качестве параметра - имя обрабатываемого файла. В файл Processed.txt записываются названия обработанный файлов, дата и время (разделены значком "*").

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 22:06 26-10-2006
sD31337

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

Всего записей: 30 | Зарегистр. 27-10-2006 | Отправлено: 01:00 27-10-2006
loat



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
помогите плс.
 
@echo off  
if "%1"=="" goto exit  
chcp 1251 > nul  
for %%i in ( %1*.* ) do (  
del "%%i" 2>nul > nul  
if not exist %%i ( echo Файл "%%i" удален. ) else ( call :choice "%%i" )  
)  
goto exit  
 
:choice  
setlocal  
set del_choice=  
set /p del_choice=Файл %1 защищен от удаления. Удалить его?  
if not '%del_choice%'=='' set choice=%choice:~0,1%  
if /I '%del_choice%'=='Y' call :force %1  
if /I '%del_choice%'=='Д' call :force %1  
endlocal  
goto exit  
 
:force  
del /f /q %1  
echo Файл %1 удален.  
 
:exit  
 
 
 
вот батник который удаляет все файлы которые начинаються на букву которая задаеться параметром. А скрытые файлы спрашивает удалить или нет.
проблема в том что в cmd.exe вместо русских букв пишуться караказябры (winxpsp2 тестилось на 3х компах)
помогите пожалуйста исправить чтобы писалось по русски.

Всего записей: 89 | Зарегистр. 24-01-2005 | Отправлено: 01:52 27-10-2006
Kronix

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir
Спасибо, то что нужно!
 
Добавлено:
а существует ли в батнике логическое или для if?
if a==1||b==1 ()
не проходит

Всего записей: 107 | Зарегистр. 21-03-2006 | Отправлено: 02:22 27-10-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
sD31337
1. Help
2. Команда /? (например IF /?)
 
Как таковых у меня учебников нет - мне достаточно встроенной справки
 
Работаю с батничкми еще со времен ДОС-а, года так с 1991-1992

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

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как сделать, чтобы не выводились сообщения:
Не удается найти указанный файл
Скопировано файлов:   1
 
Вроде @echo off должно их подавлять, но нет
 
Добавлено:
и как запустить батник, чтобы досовское окошко не появлялось, заранее СПАСИБО!

Всего записей: 107 | Зарегистр. 21-03-2006 | Отправлено: 10:51 27-10-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Kronix
Echo Off - подавляет вывод в стандартный поток, но не в поток ошибок
Сделай на команде  
Copy Source Target >Nul

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



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
loat
 
в начале пропиши
chcp 1251

Всего записей: 81 | Зарегистр. 22-07-2005 | Отправлено: 12:17 27-10-2006
Elroir



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

Цитата:
а существует ли в батнике логическое или для if

Не существует - можно использовать конструкцию из вложеных if .. else.

Цитата:
и как запустить батник, чтобы досовское окошко не появлялось

В шапке, в разделе "Пелезные ссылки" - утилита cmdow
 
loat
Ты случайно не на полный экран cmd открываешь?  
 
Добавлено:
isem
Там на третьей строчке уже прописано "chcp 1251"

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 12:18 27-10-2006 | Исправлено: Elroir, 12:21 27-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