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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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 | Цитировать | Сообщить модератору
AY51
start notepad 1.txt

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 15:06 26-09-2006
AY51

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо! Помогло-полегчало.

Всего записей: 65 | Зарегистр. 22-08-2006 | Отправлено: 16:21 26-09-2006
ViSiToR



Silver Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Такая задача:
 
Нужно узнать общий размер (в байтах) всех файлов с расширением *.adr (в одном определённом каталоге), и выйти из батника с кодом ровняющимуся результату.
Возможно такое на батнике?

----------
ViSiToR a.k.a CreatoR
CreatoR это не ник, CreatoR это стиль жизни!

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 05:37 27-09-2006 | Исправлено: ViSiToR, 05:39 27-09-2006
DiZka



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
не знаю зада ето для батника или может прогу целую пистаь надо но задача такова... есть папка в которое подпапки и т.д. конечный уровень может быть любым... т.е.  
 |
 |
 |\_папка
 |
 |\_папка
 |   |
 |    \_папка
 |     |
 |      \папка
 |       \.....
  \_папка
 ...............
ну я думаю поняли в папках лежат файлы разные по расширениям
 
 
Задача: выташить все файлы из папок и подпапок с расширением jpg на самый верх ну или в указаную папку... ну еще если возможно но НЕ обязательно если имя файла совпадает переименовывать в другой ну или добавлять символ какойнить чтоб не заменялись файлы вообщем....  
 
Если не в тему написал сори  а совсем забыл, эти папки и подпапки ето кэш вообщем инетовский... ето чтоб понятнее было

Всего записей: 374 | Зарегистр. 16-08-2005 | Отправлено: 09:30 27-09-2006
DocBeen



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Многоуважаемые форумчане! подскажите как все таки правельно в батнике использовать функцию rasdial....
имею подключение с интернетом по VPN и необходимо чтоб при старте системы выполнялось подключение к интенет...

Всего записей: 147 | Зарегистр. 15-07-2005 | Отправлено: 11:59 27-09-2006
KapralBel



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

Код:
 
@Echo Off
For /R "D:\Папка с картинками" %%a in (*.jpg) Do Copy %%a "D:\Папка с картинками\"

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



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

Код:
 
set folder=путь к каталогу для помещения файлов
dir /b /a-d /s *.jpg > %temp%\filelist.tmp
if not exist %folder% mkdir %folder%
For /f "delims=" %%i in (%temp%\filelist.tmp) do xcopy /y /c /h /r "%%i" "%folder%"
del /f /q %temp%\filelist.tmp

 
Этот пример скопирует все файлы с расширением *.jpg из всех подкаталогов начиная с текущего каталога батника.
Файлы будут помещаться в каталог который нужно соответственно поправить в коде на нужный путь.
Если имена файлов будут совпадать, то они (файлы) будут заменяться на самые последние в процессе копирования.

----------
ViSiToR a.k.a CreatoR
CreatoR это не ник, CreatoR это стиль жизни!

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 12:13 27-09-2006 | Исправлено: ViSiToR, 12:14 27-09-2006
KapralBel



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

Код:
@Echo Off
Set Size=0
For /R "C:\Program Files\far\" %%a in (*.txt) Do Call :Label1 %%~za
Echo size=%Size%
GoTo :EOF
 
:Label1
Set /A Size=%Size%+%1
GoTo :EOF

 
Добавлено:
DocBeen
RasDial "доступ в Internet"

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 12:26 27-09-2006
DiZka



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

Всего записей: 374 | Зарегистр. 16-08-2005 | Отправлено: 13:11 27-09-2006
ERG73

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите
Нужно создать файл dNNN.arj
где NNN - трехзначное число, которое обозначает порядковый номер текущего дня (или другими словами, сколько дней прошло с нового года по сегодняшнюю дату)
Как высчитать это число?

Всего записей: 298 | Зарегистр. 06-11-2004 | Отправлено: 15:16 27-09-2006
olegupb



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Народ, что нужно прописать в батниках загрузочной дискеты win98 чтоб автоматом был найден cd-rom и запущен файл с компакта?

----------
~

Всего записей: 734 | Зарегистр. 09-02-2005 | Отправлено: 15:23 27-09-2006 | Исправлено: olegupb, 15:23 27-09-2006
Refugee

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ERG73
day.js:
d = new Date();
WScript.Echo(Math.floor((d.getTime()-new Date( d.getYear(),0,1 ).getTime()) /(1000*3600*24))+1);
 
сам батник
for /f "tokens=*" %%s in ('cscript //nologo day.js') do arj a %%s *.*

Всего записей: 513 | Зарегистр. 31-03-2004 | Отправлено: 15:27 27-09-2006 | Исправлено: Refugee, 15:30 27-09-2006
DiZka



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ViSiToR еще вопросик по дороботки твоего "скрипта" как бы сделать чтоб заместо set folder=путь к каталогу для помещения файлов скрипт сам определял папку и создавал... в директории куда поместил его т.е.  
 
 |
 |
  \_папка (из нее надо скопировать)
   |
    \out (скрипт сам создает папку и копирует в нее картинки)

Всего записей: 374 | Зарегистр. 16-08-2005 | Отправлено: 19:36 27-09-2006 | Исправлено: DiZka, 19:37 27-09-2006
millenium



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

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

Присоединяюсь к просьбе.
И еще. Как мне скопировать файл с CDROM из под ДОСа, допустим на рамдрайв, если буква диска присваеваемая CDROMу на разных компьютерах бывает разная и если CDROMов не 1, а 2?
Пробовал так:
copy %CDROM%:\test.exe %RAMD%:\ > NUL
и еще так:
path=%CDROM%:\;%RAMD%:\
copy test.exe %RAMD%:\ >NUL
В обоих случаях пишет, типа файл :\test.exe не найден!
Помогите пожалуйста, очень нужно!

----------
Терпение и труд - Все перетрут!

Всего записей: 853 | Зарегистр. 25-02-2002 | Отправлено: 22:26 27-09-2006
ViSiToR



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

Цитата:
 как бы сделать чтоб заместо set folder=путь к каталогу для помещения файлов скрипт сам определял папку и создавал

Я не уверен что правильно понимаю - Ты хочешь чтобы скрипт создавал папку, с тем же именем как и у папки с которой он копирует файлы, или ты хочешь чтобы в текущей папке скрипта создавалась папка с определённым названием, и в неё помещались картинки?
В том примере который я привёл, не обязательно писать полный пуить, можно после set folder= прописать просто имя папки, и тогда эта папка создастся прямо возле батника.
В любом случае, то что будет прописанно после set folder=, автоматом будет создано как имя папки, если задать ещё и путь, то по этому пути и будт создана папка.

----------
ViSiToR a.k.a CreatoR
CreatoR это не ник, CreatoR это стиль жизни!

Всего записей: 3251 | Зарегистр. 01-04-2006 | Отправлено: 22:29 27-09-2006
DiZka



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ViSiToR Все пасип все уже есть как я хочу нуден был как раз вариант:
 
"В том примере который я привёл, не обязательно писать полный пуить, можно после set folder= прописать просто имя папки, и тогда эта папка создастся прямо возле батника."

Всего записей: 374 | Зарегистр. 16-08-2005 | Отправлено: 23:49 27-09-2006 | Исправлено: DiZka, 23:51 27-09-2006
Kirillhome



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
millenium
Ну, если имя файла уникально - довольно просто.... Если нет.... Тогда могут быть проблемы...
 
В общем, если совсем в лоб (при условии чистого DOS-а):
 

Код:
 
@echo off
SET F_NAME=test1.exe
SET FLAG_N=0
SET CD_ROM=D
call :_PROV %CD_ROM% %F_NAME% %FLAG_N%
SET CD_ROM=E
call :_PROV %CD_ROM% %F_NAME% %FLAG_N%
SET CD_ROM=F
call :_PROV %CD_ROM% %F_NAME% %FLAG_N%
SET CD_ROM=G
call :_PROV %CD_ROM% %F_NAME% %FLAG_N%
 
rem Батник надо продолжить от H до Y
 
SET CD_ROM=Z
call :_PROV %CD_ROM% %F_NAME% %FLAG_N%
 
:_ZAVERSH
IF "%FLAG_N%"=="0" GOTO :_NO_FILE
IF "%FLAG_N%"=="2" GOTO :_2_FILE
echo Файл найден на диске %CD_ROM_N%
GOTO :_END
:_2_FILE
echo Файл найден, но на нескольких дисках...
echo Надо что-то делать...
GOTO :_END
:_NO_FILE
echo Файл нигде не найден...
:_END
GOTO :EOF
 
:_PROV
dir %1%:> NUL 2>NUL
IF "%errorlevel%" == "0" (
    if exist %1%:\%2% (
       SET CD_ROM_N=%1%:
       if "%3%"=="0" (SET FLAG_N=1) else (SET FLAG_N=2)))
 
GOTO :EOF
 


Всего записей: 426 | Зарегистр. 23-11-2004 | Отправлено: 01:16 28-09-2006 | Исправлено: Kirillhome, 01:21 28-09-2006
Jagstang

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Все-таки хочу еще раз задать вопрос: как перенаправить вывод из консоли в переменную?
Такой пример должен работать, но не работает как ожидается: echo value | set var /p=. После выполнения хотелось бы в переменной var видеть значение value. Можно конечно все перегнать в файл, затем использовать for  - имхо не эффективно...

Всего записей: 4 | Зарегистр. 21-09-2006 | Отправлено: 11:55 28-09-2006
KapralBel



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

Код:
echo value >1
set /p var=<1
 

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос как скопировать файл между машинами разных доменов.
 
Типа
 
COPY \\10.16.29.37\document\1*.TXT \\10.11.29.4\IN\
 
Поблемма в том что когда это в ТОтале делаю, то отвечаю нвопросы типа Имя и парольи тогда могу копировать, а можно ли их указать в строке и делать это батником?
 

Всего записей: 25 | Зарегистр. 31-01-2006 | Отправлено: 18:37 28-09-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