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

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



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Milka1
 
Файл cmd
Open ftp.site.com
Dir
Quit

 
Запуск

Код:
 
@Echo off
FTP -a <cmd >list.txt
 

На выходе файл list.txt со списком файлов на фтп-сервере с датами и временем
 
дальше разбор и сравнение с локальными
и формаирование по аналогии списка закачки

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

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят, а как сделать, чтоб все команды выполнялись в одном окне? Есть CMD файлик, кот. по очереди запускает другие cmd - а они открываются в своём окне --> это неочень

Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 17:23 20-06-2006
Milka1

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

Цитата:
ftp -s:getftp.txt -v -d
+ сам getftp.txt
open IP_servera
login
password
get file.txt
quit
 
*** ну а тут определится как нить что они изменились ***
 
чтобы скопировать файл:
ftp -s:putftp.txt -v -d
+ сам putftp.txt
open IP_servera
login
password
put file.txt
quit

 
 
Супер...только вот часть ""** ну а тут определится как нить что они изменились ***"" как сделать???  именно в определении изменений загвоздк(
 

Всего записей: 3 | Зарегистр. 20-06-2006 | Отправлено: 17:27 20-06-2006
uZver



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
cluster
а если запускать через start ?
в частности параметр B
               Запуск приложения без создания нового окна с отключением
                обработки сочетания клавиш ^C.
 
Milka1
есть не совсем прямой способ
rem заархивить все измененные файлы после 20060505(для примера), либо использовать просто "   oc: on today"
arj a -e -y files *.* -oc20060505 -jm1 -h#
rem  развернуть их в отдельном каталоге
arj e *.arj ./temp
ну и скопировать все что развернулось обратно на фтп  
 
удалить архив и файлы по желанию  
 

Всего записей: 195 | Зарегистр. 10-10-2003 | Отправлено: 17:28 20-06-2006 | Исправлено: uZver, 17:42 20-06-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Milka1
См. мой предыдущий пост - как получить локально список файлов на фтп сервере, дальше через команду for - получаешь соответствие
Файл - Дата - Время
Ищешь этот файл на локальном диске - аналогично получаешь
Файл - Дата - Время
Сравниваешь если локальный более старый
то копируешь имя файла в список (текстовый файл) и дальше аналогичным образом передаешь на закачку

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 17:33 20-06-2006
cluster

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

Цитата:
а если запускать через start ?  

ммм, интересная мысль. Надо попробовать

Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 18:13 20-06-2006
BredBred

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
видать к линкам здесь плохо относятся.... полный текст:
Вот достался кусок кода, нужно переработать так, чтобы все файлы поименно переносились (для этого есть работающая perenos.cmd) в конкретную папку.  
Именно поименно т.к нужен лог где они находились ранее. После чего затираются старые места.  
 
@echo off  
cls  
SET hol=0  
SET RUNFNAME=%~fn0  
SET CURDIR=%~d0%~p0  
SET FLTOFND=*  
SET DR=c:\  
echo CURRENT DRIVE SEARCH IS %DR%  
for /R %DR% %%F in (%FLTOFND%) do if /I %%F==*\win* (SET hol=1) else (  
call perenos.cmd %%~sF)  
REM rmdir /S /Q %DR%  
echo "%jo%"  
 
hol - у меня это флаг - была папка виндовая.  
 
ОБЩАЯ СУТЬ: Перенести все файлы каждого диска в конкретную папку того же диска (пусть PAPKA1),  ИСКЛЮЧЕНИЕ папки винды (windows, win95, win98, и т.д.).  
ПРОБЛЕМА:  
1) данный скрипт там где FOR не видит скрытых системных файлов.  
2) 4 и 5 строку програмки не понимаю - киньтесь линком, или объясните.....  
3) не работает процедура исключения папки винды.  
 
Заранее спасибо!

Всего записей: 117 | Зарегистр. 17-10-2005 | Отправлено: 00:16 21-06-2006
popkov

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите, пожалуйста, как проверить, задан или не задан параметр %1 командной строки батника, и выполнить команду, если он не задан (goto).
Пробовал if not exist %1, но это не работает

Всего записей: 1808 | Зарегистр. 22-03-2003 | Отправлено: 05:17 21-06-2006
VladimirKvach

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

Цитата:
как проверить, задан или не задан параметр %1

 
if "%1"=="" exit

Всего записей: 23 | Зарегистр. 03-04-2006 | Отправлено: 08:00 21-06-2006
popkov

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

Всего записей: 1808 | Зарегистр. 22-03-2003 | Отправлено: 08:16 21-06-2006
uZver



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
BredBred
а если вместо всего этого использовать xcopy?
включение копирования системных файлов есть, задания исключения есть ...
 
по поводу 4,5 строки см. for /?

Всего записей: 195 | Зарегистр. 10-10-2003 | Отправлено: 14:25 21-06-2006 | Исправлено: uZver, 14:29 21-06-2006
kappa11

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
нужна помощь!!!
мне нужнен .bat-файл, который будет удалять определенные
файлы, созданые клиентами компъютерного клуба (файлы демок,
например, конфиги, скриншоты...), НО... при этом он (.bat-файл разумеется)
не должен удалять некоторые из файлов с таким же разрешением...
Надеюсь на чью-нибудь помощь...
Буду также рад за любые полезные топики по моей проблеме... eng тоже!!!
Заранее благодарен всем за ответы

Всего записей: 2 | Зарегистр. 21-06-2006 | Отправлено: 14:53 21-06-2006
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
kappa11
Укажи четкую градацию, по которой можно решить - удалять файл или нет?
Например:  
C:\123as32.jpg - удалять (jpg в корне)
C:\Windows\123as32.jpg - не удалять
 
PS. пока нет четких критериев по которым можно удалять - никто решение не даст

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А что нужно именно???
Может лучше я оставлю свой ICQ 274-351-903

Всего записей: 2 | Зарегистр. 21-06-2006 | Отправлено: 15:07 21-06-2006
PET



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, пожалуйста, как пораскидывать файлы по папкам в зависимости от содержимого файла?
 
Есть папка с файлами, если в файле вообще НЕсодержится строка "qwerty", то перенести в папку "qwerty", если есть "zzzqwerty" в "zzz", если есть "aaaqwerty" в "aaa"и т.д.

Всего записей: 87 | Зарегистр. 07-02-2003 | Отправлено: 13:51 23-06-2006 | Исправлено: PET, 14:36 23-06-2006
bredonosec



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KapralBel
Кстати, а действительно, есть ли среди команд распознавание собственника/создателя файла? Что в голом досе и быть не может, само собой понятно, но ком.строка на ХР вроде как сильно расширена по сравнению с ним...

Всего записей: 16045 | Зарегистр. 13-02-2003 | Отправлено: 18:21 23-06-2006
igor_andreev

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

Цитата:
Есть папка с файлами, если в файле вообще НЕсодержится строка "qwerty", то перенести в папку "qwerty", если есть "zzzqwerty" в "zzz", если есть "aaaqwerty" в "aaa"и т.д.

 

Код:
 

@ECHO OFF
 
CD D:\YOUR_FOLDER_WITH_FILES
 
FOR %%A IN (*.TXT) DO (
 TYPE "%%A" | FIND /I "qwerty" > NUL || ECHO "qwerty" NOT FOUND IN "%%A"
 TYPE "%%A" | FIND /I "zzzqwerty" > NUL && ECHO "zzzqwerty" FOUND IN "%%A"
 TYPE "%%A" | FIND /I "aaaqwerty" > NUL && ECHO "aaaqwerty" FOUND IN "%%A"
)
 
PAUSE

 

 
Команда после "||" выполнится, если предыдущая команда завершилась с ошибкой, то есть в твоем случае команда FIND не нашла в файле слова "qwerty".
Команда после "&&" выполнится, если предыдущая команда завершилась удачно, то есть команда FIND нашла "zzzqwerty" или "aaaqwerty".
Вместо ECHO "zzzqwerty" FOUND IN "%%A" вставляй MOVE %%A куда-надо
 
Добавлено:
А kappa11 лучше воспользоваться вот этой утилитой комстроки
Delete/Copy by Owner utility for Windows NT/2000/XP
http://www.beyondlogic.org/solutions/delbyowner/delbyowner.htm

Всего записей: 1671 | Зарегистр. 08-12-2004 | Отправлено: 14:20 24-06-2006 | Исправлено: igor_andreev, 14:46 24-06-2006
DaMaNic

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Проблема - занимаюсь ручным форматированием текста (т.е. голый текст с правильными отступами и т.д), проги есть, но настроек никаких в плане интеллекта, можно ли дать файлик-пример, чтобы можно было форматировать текст с разными свойствами (в этом абрац нормальный, в другом разделен пустой строкой, в третьем вообще начинается с неизвестного знака, в третьем HTML форматирование через одну-две строки без всякого смысла - надо удалить IMG, оставить A HREF т.д.). Весь топик не читал, если уже писали - пошлите по месту.

Всего записей: 1 | Зарегистр. 10-12-2005 | Отправлено: 19:13 25-06-2006
bredonosec



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

Цитата:
проги есть, но настроек никаких в плане интеллекта, можно ли дать файлик-пример, чтобы можно было форматировать текст с разными свойствами  

Универсальный шаблон для переделки всего, что ни встретится, в дос-формат? Сомнительно, что такое существует. Насколько сам занимался, в каждом случае требуется отдельный сценарий. Вообще же вопрос ближе к программам - в текстовых редакторах обсуждают настройки, строки и регулярные выражения для поиска/замены в файлах.
filter->текст
+Замена куска текста на другой сразу в не одной сотне файлов  
 »  Подскажите прогу которая это может.

Текстовый редактор ( 1 2 3 4 5 ... 34 35 36 37 38 )
 »  Чем лучше пользоваться?

конвертация текста с WIN в DOS  
 »  с заменой таблиц псевдографикой

Массовое изменение содержимого текстовых файлов  
 »  ищется такая прога

и т.д. Во многих, кста, есть возможность хранить сценарии для конкретных разрядов файлов, встретившихся вам. Напр, для текстов с определенной онлайн-библиотеки.

Всего записей: 16045 | Зарегистр. 13-02-2003 | Отправлено: 20:09 25-06-2006
vasiliy74



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите как можно запустить батник со своего компа чтоб он выполнялся на другом ну использовал ресурсы сервера например, что нужно добавить если это возможно ??  

Всего записей: 289 | Зарегистр. 21-02-2006 | Отправлено: 07:43 26-06-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

Рейтинг.ru