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

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

Модерирует : gyra, Maz

Widok (03-03-2010 16:29): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Командная строка, батники\сценарии (bat, cmd)
(часть 1) (часть 2)
Вопросы, задачи и их решения по работе с командной строкой, файлами, а также сопутствующие ссылки.

 
Важно: копируя батник через буфер обмена из форума не забывайте удалять пробелы в конце каждой строки, т.к. в некоторых случаях из-за этого программа будет работать неправильно!!!
 
Примечание: Большие куски кода заключайте в тэг [more]  
 
Смежные темы:
В помощь системному администратору » Автоматизация администрирования
Microsoft Windows » Задачи на bat-файлах 5
 
Полезные ссылки:
· Cmd. Описание от разработчиков
· Урок bat-аники (для начинающих)
· Курс лекций для начинающих. Полезно и просто описано
· Набор GNU утилит для win32
· Пакет утилит для организации интерфейса в bat-файлах
· Использование ansi.sys
· cmdow — изменение параметров и видимости дос-окна
· blat — отправка почты из консоли
· Справка по командам в виде Html
· Команды RunDll32
· Quick Batch File Compiler - Позволяет превратить ваш батник в независимое приложение
· Пример - получение и обработка списка пользователей
· Уильям Станек - Командная строка Microsoft Windows (вплоть до w2k3)
· Простой способ получать текущую дату всегда в одном формате (не зависит от языков и настроек)
· Переход из 32-битной версии cmd.exe в 64-битную

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 12:38 10-03-2009 | Исправлено: TechnicsKuzya, 13:54 27-12-2009
Elroir



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

Цитата:
Можно ли сделать батник который бы понимал что app.dat это app.exe ?

Нет. Можно перед запуском переименовать в .exe, a после окончания работы, назад в .dat.

----------
"В интернете есть все, но не всегда"

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 10:20 23-03-2009
pashuxa

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Может кто может подсказать как сделать батник что бы выпонялась команда shutdown по локальной сети с одного компа на пример....обязательно -ли .что бы  BAT или CMD  имел авторизацию...если да то как это осуществить.....через удалённый стол выполнить не сложно  такое.....а так что бы просто кнопочкой на рабочем столе..??

Всего записей: 7 | Зарегистр. 24-02-2006 | Отправлено: 13:54 23-03-2009 | Исправлено: pashuxa, 14:57 23-03-2009
lid111

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM, вы мне очень помогли однажды (25 февраля 2008 года) здесь: http://forum.ru-board.com/topic.cgi?forum=5&topic=25393&start=340
 
Но этот bat-файл не обрабатывает (пропускает) диск, на котором находится. Т. е. когда он находится на системном диске - указанные папки не очищаются. Не могли бы вы подправить текст - для запуска файла из любого места?

Всего записей: 1451 | Зарегистр. 15-09-2006 | Отправлено: 04:43 24-03-2009 | Исправлено: lid111, 04:55 24-03-2009
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
lid111
Отвечу вместо 01MDM
Вместо строчки "if not %~d0==%%i: call:clean %%i", надо поставить просто "call:clean %%i"
При этом будут обрабатываться все диски, включая тот, с которого запущен батник.

----------
"В интернете есть все, но не всегда"

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 17:49 24-03-2009
lid111

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

Всего записей: 1451 | Зарегистр. 15-09-2006 | Отправлено: 03:06 25-03-2009
s1nfrompvl



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
хм... тут недавно понадобилось работа с интерфейсом... ну чтобы при выполнении выдавался запросы в окошечках... например пароль...
в шапке ссылка "Пакет утилит для организации интерфейса в bat-файлах" померла... точнее сам сайт.... а есть чтонить похожее???

Всего записей: 59 | Зарегистр. 07-04-2008 | Отправлено: 11:45 25-03-2009
Maza_Faka



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

Цитата:
в шапке ссылка "Пакет утилит для организации интерфейса в bat-файлах" померла

Перезалил, попробуй скачать.

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 12:53 25-03-2009
vitebsk1

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток, уважаемые гуру!
 
Помогите решить задачку:
 
Есть файл test.md5, сформированный прогой fsum, след. вида  
 

Код:
 
; SlavaSoft Optimizing Checksum Utility - fsum 2.52.00337 <www.slavasoft.com>
;
; Generated on 03/25/09 at 17:24:49  
;
157f5cd761138a93c6050e525cbe3159 *afform1.xml
ee436b95c5c769333a36079a0c18cf2b *afform2.xml
363b05e3fb8dbc0e1463a1e9cf4979ba *afform3.xml
de2a1aed72766bc1c10fd04144c9db6e *afform4.xml
 

 
 
Насколько я разобрался утилитка fsum при проверке md5 формирует список либо только ошибочных файлов, либо всех файлов.Файл формируется след. вида:
 

Код:
 
NOT FOUND    *****        afform1.xml
FAILED       MD5          afform2.xml
OK           MD5          afform3.xml
OK           MD5          afform4.xml
 
1 checksums failed
1 file errors
 

 
Нужно написать батник , который бы  формировал список файлов только со статусами ОК, либо как то заставить fsum сразу формировать такой список . Кто нить знает решение ?  
Должен формироваться файл след вида:  
 

Код:
 
afform3.xml
afform4.xml
 

Всего записей: 3 | Зарегистр. 25-03-2009 | Отправлено: 18:17 25-03-2009 | Исправлено: vitebsk1, 18:26 25-03-2009
Elroir



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

Код:
 
@echo off
for /f "tokens=2*" %%a in ('type list.md5 ^| find "OK"') do echo %%b>>list_OK.md5  
 


----------
"В интернете есть все, но не всегда"

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 18:41 25-03-2009 | Исправлено: Elroir, 18:42 25-03-2009
vitebsk1

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

Всего записей: 3 | Зарегистр. 25-03-2009 | Отправлено: 19:10 25-03-2009
s1nfrompvl



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

Всего записей: 59 | Зарегистр. 07-04-2008 | Отправлено: 23:12 25-03-2009 | Исправлено: s1nfrompvl, 15:40 26-03-2009
LEDRA

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите плиз
Нужно объединить все данные текстовых файлов, находящихся в данной папке, в один x.txt.
Как такое можно сделать, или может ктото уже делал?

Всего записей: 228 | Зарегистр. 23-01-2006 | Отправлено: 16:40 26-03-2009
Maza_Faka



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
s1nfrompvl
Можно "прикрутить" vbs-файл:

Код:
 
@Echo Off
 
Echo txtFile = "tmp.txt">input.vbs
Echo Set FSO = CreateObject("Scripting.FileSystemObject")>>input.vbs
Echo Set sFile = FSO.CreateTextFile(txtFile)>>input.vbs
Echo sData = InputBox("Введите данные")>>input.vbs
Echo sFile.Write(sData)>>input.vbs
Echo sFile.Close>>input.vbs
 
Cscript //NoLogo input.vbs
For /F %%A In (tmp.txt) Do Echo %%A
 
Del /F /Q tmp.txt
Del /F /Q input.vbs
 

Синтаксис функции InputBox можно посмотреть здесь

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 16:49 26-03-2009
MEDBEDb_GRIzzLY



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа, подскажите какой батник нужно (если это возможно) написать чтобы:  
Образовался файл текстовой со строчками:  
1. Текущая дата в формате YYYY-MM-DD
2. Текущее время с секундами в формате HH:MM:ss
 
Именно в этом формате Использоваться будет на куче машин, поэтому менять настройки в config.sys (country=) совсем нежелательно.  
 
 
Добавлено:
Свой глупый вопрос снимаю:
 

Код:
 
@ECHO OFF
set day=%date:~0,2%
set month=%date:~3,2%
set year=%date:~-4%
set datetime=%year%-%month%-%day%
set times=%time:~0,8%
 
echo %datetime%
echo %times%
 

Всего записей: 18 | Зарегистр. 24-01-2007 | Отправлено: 19:48 26-03-2009
Maza_Faka



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

Цитата:
объединить все данные текстовых файлов, находящихся в данной папке, в один x.txt


Код:
 
@Echo Off
 
For %%A In (*.txt) Do (
   Type "%%A">>result.txt
   Echo.>>result.txt
)
 

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 06:54 27-03-2009
LEDRA

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

Цитата:
 
@Echo Off  
 
For %%A In (*.txt) Do (  
   Type "%%A">>result.txt  
   Echo.>>result.txt  
)  
 

 
Супер!!! Но есть одно но - кодировка result.txt становится отлична от оригиналов(
Кодировка оригиналов Win 1200 UTF-16LE, а result.txt - win 866 OEM. Можно сделать чтобы кодировка не менялась?
 
И еще вопрос если у меня уже есть в папке файл "result.txt ",  как сделать чтобы он переименовался, допустим в "result(copy).txt ", а потом уже началось обїединение?

Всего записей: 228 | Зарегистр. 23-01-2006 | Отправлено: 11:47 27-03-2009
Maza_Faka



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

Цитата:
кодировка result.txt становится отлична от оригиналов


Цитата:
сделать чтобы он переименовался, допустим в "result(copy).txt "

Попробуй так:

Код:
 
@Echo Off
 
If Exist result.txt Ren result.txt result(copy).txt
 
For %%A In (*.txt) Do Call :_Prep "%%A"
Copy /B %STR:~3% out.txt
GoTo :EOF
 
:_Prep
Set STR=%STR% + %1
 

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 18:22 27-03-2009
Deep2007



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите решить такую задачу:
В одноранговой сети (WINDOWS XP HOME) с 1-го компа нужно копировать файлы и папки на 2-й.
Сетевой путь к 1-й папке (стоит на общем доступе): \\Ouu-4\Обмен, внутри нее есть еще папки, например - Телеграммы и файлы (с кириллическими именами).
На компе № 2 (сетевой имя - \\Ouu-1)копировать в папку С:\РЕЗЕРВНЫЕ КОПИИ ФОТО. Структуру папок сохранять, как на 1-м компе. Общий размер копируемого - примерно 40 Гб. Если файл существует на 2-м компе, и не менялся (достаточно проверять размер), то его просто пропустить (не перезаписывать). Если размер менялся - перезаписать без всяких запросов.
Еще важный момент - если на 1-м компе файл или папка удалены, но они есть на компе 2 - их удалять НЕ НУЖНО.
Таким образом, при сравнении будут копироваться только измененые, созданные и перемещенные объекты.
Хорошо бы, чтобы такой батник дописывал в тестовый документ в своей директории (по завершении своей работы) строку типа:
Резервное копирование выполнено 27.03.2009 г 15:30.
 Думаю прикрутить такой батник к планировщику задач, пусть запускается 1-4 раза в день.

Всего записей: 80 | Зарегистр. 22-03-2007 | Отправлено: 19:57 27-03-2009 | Исправлено: Deep2007, 19:59 27-03-2009
Maza_Faka



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

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 09:50 28-03-2009
LEDRA

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maza_Faka
 
Спасибо! кодировка остается! Имя меняется!
Есть маленькое но, но оно не критично) Перед каждой добавленной строкой ставится пробел.

Всего записей: 228 | Зарегистр. 23-01-2006 | Отправлено: 20:11 29-03-2009
   

Страницы: 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 » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd)
Widok (03-03-2010 16:29): Лимит страниц. Продолжаем здесь.


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru