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

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Скажите как обозначить конец цикла в батнике. А то он выполняет дальше по батнику то что не должен в цикле(и так до конца). Пожалуйста с примером.

Всего записей: 4 | Зарегистр. 11-01-2009 | Отправлено: 01:53 26-05-2009
Maza_Faka



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

Цитата:
как обозначить конец цикла в батнике

По условию, смотрите:

Код:
 
If /?
 

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 07:45 26-05-2009
ScreamWolf



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

Цитата:
некая перменная CHEKFILE=nnnXmYYYY    
где:    
"n" - это латинские буквы (значение постоянное)    
"X" - это цыфра от 1 до 9    
"m" - это латинские буквы от "a" до "z"    
"Y" - это число от 0000 до 9999    

 
Прошу пращенья за то, что не отблагодарил... мне бан сунули на форуме (за что, до сих пор не понял), ну да ладно...
 
 
У меня еще сть вопросик...
Как из текстового файла выдернуть строку и записать ее в переменную, не зная что она содержит, но зная ее по счету ?

Всего записей: 197 | Зарегистр. 15-05-2009 | Отправлено: 12:14 26-05-2009
XXXXL



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте!
Записываю в replace.ini следующее:

Код:
echo.[REPLACE]>>replace.ini
echo.from=1.txt>>replace.ini
echo.to=2.txt>>replace.ini
echo.begin=1>>replace.ini
echo.end=9>>replace.ini
echo.caseignore=1>>replace.ini
echo.charset=UTF-8>>replace.ini

 
результатом в replace.ini должен получить:

Код:
[REPLACE]
from=1.txt
to=2.txt
begin=1
end=9
caseignore=1
charset=UTF-8

 
а получаю:

Код:
[REPLACE]
from=1.txt
to=2.txt
begin=
caseignore=
charset=UTF-8

 
Сторока "end=9" не передалась а строки которые заканчиваются на цифру "1" передались без цифры.
 
Подскажите пожалуйста, как это вылечить?
 
Спасибо!

Всего записей: 286 | Зарегистр. 16-05-2007 | Отправлено: 12:45 26-05-2009
SParrow85

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет снова.
 
Задача: почистить папку Documents & Settings от всех локальных профилей ктоме системных и тех под которым запускается этот батник (перечень системных учеток есть)
 
Проблема в том что я незнаю как лучше организовать перебор папок и при этом исключить системные

Всего записей: 2 | Зарегистр. 19-05-2009 | Отправлено: 13:13 26-05-2009
Maza_Faka



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

Код:
 
@Echo Off
 
Set TxtFile=C:\Test.txt
 
For /F "Tokens=*" %%A In ('Sed -n "3p" %TxtFile%') Do Set String=%%A
 
Echo %String%
 

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

Код:
 
@Echo Off
 
echo [REPLACE]>>replace.ini
echo from=^1.txt>>replace.ini
echo to=^2.txt>>replace.ini
echo begin=^1>>replace.ini
echo end=^9>>replace.ini
echo caseignore=^1>>replace.ini
echo charset=UTF-8>>replace.ini
 

 
Добавлено:
SParrow85
Попробуйте так:

Код:
 
@Echo Off
 
ChCp 1251>Nul
 
For /D %%A In ("%SYSTEMDRIVE%\Documents and Settings\*") Do (
  If /I Not "%%~nA"=="All Users" If /I Not "%%~nA"=="%USERNAME%" RD /S /Q "%%A"
)
 

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 13:15 26-05-2009 | Исправлено: Maza_Faka, 13:20 26-05-2009
XXXXL



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

Всего записей: 286 | Зарегистр. 16-05-2007 | Отправлено: 16:21 26-05-2009
shadow_user777



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа помогите решить задачу.
Есть небольшая База Данных.  
Задача при закрытии БД запускался батник и в папке с прогой в папке Backup, создавалась папка с уникальным именем (можно вместо имени дату или время или произвольный набор символов), и туда архивировался 1 файл из папки программы.
Связать закрытие БД с выполнением батника мне по силам, а вот остальное увы
Заранее спасибо за помощь.

Всего записей: 1375 | Зарегистр. 31-07-2005 | Отправлено: 17:04 26-05-2009
Maza_Faka



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

Цитата:
создавалась папка с уникальным именем


Код:
 
MD C:\%DATE%_%TIME::=_%
 

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 17:14 26-05-2009
FoxWare

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

Цитата:
По условию, смотрите:
 
Код:
 
If /?
 
 

 
вроде справка по циклу for /?
но не в "if /?" и "for /?" не могу найти как обозначить рестарт цикла

Всего записей: 4 | Зарегистр. 11-01-2009 | Отправлено: 17:41 26-05-2009 | Исправлено: FoxWare, 17:42 26-05-2009
root1978



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте!
В прошлый раз мне очень помогли....надеюсь, что и в этот раз поможете!!
 
Есть файл вида 12345678.dgp  
Очень, очень необходимо чтобы он переименовался в файл вида:
5642-4589_YYYY-MM-DD_HH-MM-SS.dgp
Где 5642-4589 фихферки неизменяемые,а YYYY-MM-DD_HH-MM-SS год, месяц, день, час, минута, секунда.
Заранее спасибо!
 
 

Всего записей: 5 | Зарегистр. 01-11-2007 | Отправлено: 17:51 26-05-2009
HaK1R



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

Код:
@echo off
:123
echo hi
echo.
goto :123

Всего записей: 136 | Зарегистр. 04-05-2009 | Отправлено: 17:59 26-05-2009
root1978



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тебе тоже Hi
Но все же \это не решение проблемы(((

Всего записей: 5 | Зарегистр. 01-11-2007 | Отправлено: 18:22 26-05-2009
HaK1R



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

Код:
move "C:\1\sdas\12345678.dgp" "5642-4589_%date:~6,4%-%date:~3,2%-%date:~0,2%_%time:~0,2%-%time:~3,2%-%time:~6,2%.dbg"

 
 
Добавлено:
root1978

Цитата:
Тебе тоже Hi
Но все же \это не решение проблемы(((
 

Я не тебе пишу, смотри к кому обращение идет!

Всего записей: 136 | Зарегистр. 04-05-2009 | Отправлено: 18:26 26-05-2009 | Исправлено: HaK1R, 18:31 26-05-2009
root1978



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Все работает!!!!!!
Ребят Вы просто супер!
Огромнейшее спасибо!
Оссобенно HaK1R!

Всего записей: 5 | Зарегистр. 01-11-2007 | Отправлено: 18:39 26-05-2009 | Исправлено: root1978, 18:40 26-05-2009
SHIRATANI



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите решить такую задачу.
 
В папке есть много файлов, размера 1.9-2.3 гига.
Надо для каждого файла создать много томный рар архив с паролем, причем размер тома должен ровняться 100 Мб.
 
Возможно ли это сделать с помощью батника, и какую программу лучше использовать
для архивации?
 
Заранее спасибо.

Всего записей: 50 | Зарегистр. 06-12-2007 | Отправлено: 03:59 27-05-2009
Maza_Faka



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

Цитата:
создать много томный рар архив

Пример:

Код:
 
@Echo Off
 
Set Folder=d:\MyFolder
Set ArcFolder=C:\Archive
 
For %%A In (%Folder%\*.dat) Do Rar.exe a -v100m -pMyPass "%ArcFolder%\%%~nA.rar" "%%A"
 

Всего записей: 1420 | Зарегистр. 25-10-2006 | Отправлено: 07:57 27-05-2009
ScreamWolf



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите plz...
 
Имееться файлик (имя к примеру: batnik) без расширения в 866(OEM)-кодировке содержит в себе обычный батник, ну т.е. если переименовать в batnik.bat то работает как часы... Вопрос в том, как запустить CMD.exe чтобы он прочитал даннвй батник (без расширения!)
 
Пробовал CMD /T <{путь_к_файлу}\batnik из Win+R - результатом являеться чистое новое окно cmd готовое к работе
Тот же код пробовал в самом CMD - результаом является выполнение пары строк и снова CMD готов к работе ((
 
Добавлено:
Maza_Faka

Цитата:
@Echo Off  
 
Set TxtFile=C:\Test.txt  
 
For /F "Tokens=*" %%A In ('Sed -n "3p" %TxtFile%') Do Set String=%%A  
 
Echo %String%  

 
Большое спасибо... работает))
 
Добавлено:

Цитата:
Пробовал CMD /T <{путь_к_файлу}\batnik из Win+R - результатом являеться чистое новое окно cmd готовое к работе  
Тот же код пробовал в самом CMD - результаом является выполнение пары строк и снова CMD готов к работе ((  

 
обрываеться на коде CHCP - посиму?

Всего записей: 197 | Зарегистр. 15-05-2009 | Отправлено: 13:49 27-05-2009
01MDM



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

Цитата:
Имееться файлик (имя к примеру: batnik) без расширения

Данный файл не является исполняемым.

Код:
 
set pathext
 


Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 18:26 27-05-2009 | Исправлено: 01MDM, 18:28 27-05-2009
ScreamWolf



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

Цитата:
Данный файл не является исполняемым

думаю все же выход есть...
мне кажеться что-то надо мутить с дискрипторами перенапрвления ну там типа <&0 и т.п.
Т.к. cmd стопарится на тот момент када выводит результат выполненой команды (к примеру CHCP).
Даже если в этом файле (batnik) стоит chcp 866 >nul
от сюда вопрос: как подавить все выводимое на экран НО НЕ в nul в самом файле (редактирование самого файла возможно)?
 
Добавлено:
Полагаю что в файле должно быть перенапрвление вывода в запускаемый изначально CMD (тупо логика)
 
ну а если есть возможность добавить файлу расширени (к примеру: *.ini) и запустить cmd<batnik.ini, но это меня не очень устраивает...

Всего записей: 197 | Зарегистр. 15-05-2009 | Отправлено: 19:54 27-05-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