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

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

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

Widok (10-03-2009 12:39): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 102 103 104 105 106 107 108

   

Widok



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

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

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 12:08 19-11-2007 | Исправлено: Dmitriy05, 22:49 13-04-2008
svs123456789

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите плиз, как из bat запустить несколько программ, расположенных в подкаталогах (пути не могут быть абсолютными, так как папка с подкаталогами располагается ны usb)
Подробнее...
как быть с пробелами в путях ?

Всего записей: 2934 | Зарегистр. 10-04-2003 | Отправлено: 00:04 22-04-2008
Elroir



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

Код:
pushd "%~dp0"


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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 00:25 22-04-2008
svs123456789

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir
спасибо!
а относительные пути в кавычках нельзя задавать ".\путь\"  ?
 
не подскажите батник или скрипт для создания подключения по adsl
с предварительной проверкой что оно отсутсвует?
Подробнее...

Всего записей: 2934 | Зарегистр. 10-04-2003 | Отправлено: 00:36 22-04-2008 | Исправлено: svs123456789, 00:37 22-04-2008
Elroir



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

Цитата:
а относительные пути в кавычках нельзя задавать ".\путь\"  ?

Можно.
 
Добавлено:

Цитата:
с предварительной проверкой что оно отсутсвует?


Код:
 
type "%SystemDrive%\Documents and Settings\All Users\Application Data\Microsoft\Network\Connections\Pbk\rasphone.pbk" 2>nul | find "[ZTE ZXDSL852]" >nul
if not errorlevel 1 (echo Connection exists) else (echo Connection doesn't exist)
 

 

Цитата:
батник или скрипт для создания подключения по adsl

Посмотри http://support.microsoft.com/kb/284269/ru

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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 00:47 22-04-2008
gryu



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

Цитата:
Ответ - неверный. Переход произойдет только в случае отсутствия каталога.  

Сори за не совсем понятнвый пример.  
WIN51 - это не каталог, а маркерный ФАЙЛ из дистрибутива ХР.
И проверяется в данном случае наличие именно файла.
Можно написать  
IF NOT EXIST .\Distrib\tralala.tla goto:se  
 
 
 

Всего записей: 13033 | Зарегистр. 15-03-2006 | Отправлено: 12:08 22-04-2008
Ortios



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Чем перекодировать файлы из UTF-8 в CP-1251?  Из командной строки.

Всего записей: 73 | Зарегистр. 24-12-2007 | Отправлено: 14:58 22-04-2008 | Исправлено: Ortios, 15:16 22-04-2008
igor_andreev

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

Код:

If WScript.Arguments.Count = 2 Then
  Set InputStream = CreateObject("ADODB.Stream")
      InputStream.Type = 2
      InputStream.CharSet = "utf-8"
      InputStream.Open
      InputStream.LoadFromFile(WScript.Arguments.Item(0))
      InputFileContents = InputStream.Readtext
      InputStream.Close
  Set InputStream = Nothing
  Set OutputStream = CreateObject("ADODB.Stream")
      OutputStream.CharSet = "windows-1251"
      OutputStream.Mode = 3
      OutputStream.Open
      OutputStream.WriteText InputFileContents
      OutputStream.SaveToFile(WScript.Arguments.Item(1))
      OutputStream.Close
  Set OutputStream = Nothing
Else
  Wscript.Echo "Usage: utf8towin.vbs source-file destination-file"
End If    
 
Wscript.Quit

 
Добавлено:
Весь список кодировок, поддерживаемых ОС и которые, соответственно можно использовать в качестве  InputStream.CharSet и OutputStream.CharSet, есть в реестре HKEY_CLASSES_ROOT\MIME\Database\Charset, можно извратиться и сделать универсальный перекодировщик.

Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 17:40 22-04-2008
Ortios



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
igor_andreev,
Потрясающе, спасибо!!
Надо бы добавить в шапку!

Всего записей: 73 | Зарегистр. 24-12-2007 | Отправлено: 19:59 22-04-2008
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ortios
 
Еще советую утилиту iconv. Понимает более 100 кодировок. Вдруг надо будет перекодировать например koi8-r.
 

Код:
 
iconv -c -f utf-8 -t cp1251 utf.html > 1251.html
 
 

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 20:46 22-04-2008
Ortios



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM,
За iconv также спасибо!
PS. И чего я только искал, как всегда ничего не нашел.

Всего записей: 73 | Зарегистр. 24-12-2007 | Отправлено: 22:24 22-04-2008
Fantom 14



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

Всего записей: 322 | Зарегистр. 23-10-2004 | Отправлено: 09:59 23-04-2008
Doc_Evil



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня есть одна задумка, но чтобы её осуществить нужно переименовать многотомные архивы примерно так: test.part01.rar, test.part02.rar... на test01.db, test02.db... Максимум, что я добился при помощи команды ren, это сменить расширение или test (в начале). Т.к. у файлов вроде бы как двойное расширение, переименовать part** никак мне не удаётся Подскажите, есть ли решение для моей проблемы?

Всего записей: 234 | Зарегистр. 09-07-2004 | Отправлено: 19:21 23-04-2008
igor_andreev

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

Код:

bkren "(.*)\.part(.*)" "\1\2"

bkren тут http://www.boolean.ca/renamer/
 
Добавлено:
Ой, не заметил, что расширение тоже сменить надо

Код:

bkren "(.*)\.part(.*)\.rar" "\1\2.db"

Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 19:31 23-04-2008 | Исправлено: igor_andreev, 19:36 23-04-2008
Doc_Evil



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

Всего записей: 234 | Зарегистр. 09-07-2004 | Отправлено: 19:46 23-04-2008
igor_andreev

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

Код:

bkren "(.*)\.part([0-9]*)\.rar" "\1\2.db"

Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 19:46 23-04-2008
Doc_Evil



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Забыл спросить, а как "отмотать" всё назад?
Спасибо.

Всего записей: 234 | Зарегистр. 09-07-2004 | Отправлено: 20:00 23-04-2008
vmix



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возвращаюсь к теме удаления старых файлов.
 
Рекомендуемый везде forfiles работает только с датой модификации файла, а при копировании файла изменяются только время доступа и создания, следовательно, к папкам обмена forfiles не применишь. Может быть есть у кого скрипт (батник) или утилита для удаления файлов/папок с датой (мод/созд/дост) старше указанной?
 
Спасибо.

Всего записей: 162 | Зарегистр. 22-10-2002 | Отправлено: 20:40 23-04-2008
nesty

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем доброго времени суток...залпом прочитала 20 страниц этой темы-оч интересно...
стала писать...вот только тут не понятно...не мог бы кто-нибудь пояснить этот кусочек когда-то приведенного тут кода...прям по частям по буковкам если можно...
 
rem удаление из папки всех файлов кроме файлов на текущую дату
for /f "tokens=*" %%i in ('dir /b /s /a c:\1') do (echo %%~ti | findstr /v %date% 1>nul && del /q "%%i")
pause
 
Всем заранее огромное спасибо...

Всего записей: 1 | Зарегистр. 23-04-2008 | Отправлено: 23:27 23-04-2008
Tipulatoid



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

Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 03:48 24-04-2008 | Исправлено: Tipulatoid, 03:54 24-04-2008
igor_andreev

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

Цитата:
Забыл спросить, а как "отмотать" всё назад?  

Обратно переименовать

Код:

bkren "([a-z]*)([0-9]*)\.db" "\1.part\2.rar"

Всего записей: 1705 | Зарегистр. 08-12-2004 | Отправлено: 12:14 24-04-2008
   

Страницы: 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 102 103 104 105 106 107 108

Компьютерный форум Ru.Board » Компьютеры » Программы » Командная строка, батники, сценарии (bat, cmd) 2
Widok (10-03-2009 12:39): Лимит страниц. Продолжаем здесь.


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

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru