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

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

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

Widok (19-11-2007 12:08): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 109 110 111 112 113 114 115 116 117 118

   

KLASS



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

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

Всего записей: 9734 | Зарегистр. 12-10-2001 | Отправлено: 04:28 24-09-2002 | Исправлено: Elroir, 19:35 11-09-2007
Tipulatoid



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

Цитата:
Помогите определить доступность диска .  

Попробуй так. Не обещаю, что поможет, но попробуй.

Код:
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1*" %%a in ('fsutil fsinfo drives ^| find "\"') do (
   if defined first (
      set drives=!drives! %%a
   ) else (
      set drives=!drives!%%b
      set first=yes
   )
)
echo %drives%


Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 06:53 08-11-2007
kalkin5



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Maza Faka
спасибо, а можно расшифровать пож-та?
его можно запускать из любой папки или только из папки где установлен iTunes?

Всего записей: 186 | Зарегистр. 21-03-2006 | Отправлено: 10:06 08-11-2007
Tipulatoid



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

Цитата:
его можно запускать из любой папки или только из папки где установлен iTunes?

В коде Maza Faka надо заменить c:\temp\iTunes на путь, где лежит iTunes и запускать откуда хошь.
На всякий случай сделайте бекап папки iTunes. Если результат работы батника устроит, можно бекап удалить.

Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 13:08 08-11-2007 | Исправлено: Tipulatoid, 13:11 08-11-2007
Ruud



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть консольная утилита ttaenc.exe ,ей надо переконвертировать 5000 файлов с расширением tta, она может конвертировать только те файлы которые находятся вместе с ней в одном каталоге.Пробовал делать с помощью команд PushD ,PopD не помогло.Вопрос :можно ли перемещать её последовательно по подкаталогам после завершения операции в каждом из них.

Всего записей: 65 | Зарегистр. 18-12-2005 | Отправлено: 07:43 09-11-2007
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ruud
Может тебе это поможет:
http://forum.ru-board.com/topic.cgi?forum=62&topic=9040&start=600

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 09:00 09-11-2007
Ruud



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM
Спасибо за помощь ,но , к сожалению мне не помогло :я делаю инсталлятор ,после установки должна отработать ttaenc.exe и конвертированные файлы должны остаться в тех же папках ,а в том решении готовые файлы сбрасываются в один каталог.

Всего записей: 65 | Зарегистр. 18-12-2005 | Отправлено: 19:27 09-11-2007
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ruud
Как раз второй вариант ( Исправлено: Elroir,  21:09 19-01-2007) это и делает, сохраняет файлы в том же каталоге где и исходные.

Цитата:
 
она может конвертировать только те файлы которые находятся вместе с ней в одном каталоге
 

Это не так.

Код:
 
D:\Downloads\ttaenc "D:\Games\Civilization3Conquests\Sounds\Wonder.wav" "%userprofile%\Рабочий стол"
 

Сохранил Wonder.tta на "Рабочем столе"
 

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 22:06 09-11-2007
sanb



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
помогите сделать батник или VB, удаляющий определенную папку в Program Files и ветку в реестре, желательно чтобы при запуске спрашивал удалить да/нет

Всего записей: 2189 | Зарегистр. 26-07-2006 | Отправлено: 13:13 10-11-2007
Elroir



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

Код:
 
@echo off
setlocal
chcp 1251>nul
set /p "ans=Хотите удалить? (y,n) "
if "%ans%"=="y" (
rd /q /s "%programfiles%\Папка"
reg delete "HKLM\Software\MyCo\MyApp" /f
)
 



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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 14:34 10-11-2007
sanb



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir
спасибо конечно, но вместо "Хотите удалить" каракули, а на VB можно это реализовать, чтобы выскакивало стандартное виндовое окошко "Хотите удалить?", не для себя делаю, а то вид консоли многих пугает, меня в том числе
Заранее благодарен!

Всего записей: 2189 | Зарегистр. 26-07-2006 | Отправлено: 14:46 10-11-2007 | Исправлено: sanb, 15:14 10-11-2007
Elroir



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

Цитата:
вместо "Хотите удалить" каракули

Попробуй убрать "chcp 1251>nul"
 

Цитата:
а на VB можно это реализовать

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

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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 19:16 10-11-2007
Mr_SMiT



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хочу автоматизировать подключение и Интернету т.е. запустить HandyCache, NetLimiter, Maxthon и само подключение, чтобы осталось нажать только кнопку "Подключить". В автозапуске этих программ нет (убрал т.к. в Интернет выхожу не постоянно), подключение то-же не автоматическое. С программами вроде проблем нет, а вот как Подключение прописать? Запуск ярлыка не помогает - не запускается, да и ярлык какой-то странный, кроме {BA126AD7-2166-11D1-B1D0-00805FC1270E} ничего нет.
 
Добавлено:
sanb

Цитата:
вместо "Хотите удалить" каракули

Батники лучше писать в старом добром FARe, откройте Ваш батник в нем (F4), нажмите (или не нажимайте, в зависимости от того, что было в прошлый раз) F8 чтобы горело WIN т.е. в данный момент кодировка DOS  и замените эти каракули на русский текст.

Всего записей: 648 | Зарегистр. 18-07-2006 | Отправлено: 08:14 11-11-2007
Tipulatoid



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

Цитата:
Хочу автоматизировать подключение и Интернету т.е. запустить HandyCache, NetLimiter, Maxthon и само подключение, чтобы осталось нажать только кнопку "Подключить". В автозапуске этих программ нет (убрал т.к. в Интернет выхожу не постоянно), подключение то-же не автоматическое. С программами вроде проблем нет, а вот как Подключение прописать? Запуск ярлыка не помогает - не запускается, да и ярлык какой-то странный, кроме {BA126AD7-2166-11D1-B1D0-00805FC1270E} ничего нет.

Насчет кнопки "Подключить" - это не обещаю; вообще GUI-ёвые окна и диалоги - это не для батников. А само подключение в батнике прописывается просто:

Код:
rasdial "название соединения" логин_соединения пароль_соединения

 
Полностью такой батник будет выглядеть примерно следующим образом:

Код:
@echo off
start /b "" "c:\program files\HandyCache\cache.exe"
ping -n 5 -w 1000 localhost>nul
start /b "" "c:\program files\NetLimiter\netlimiter.exe"
ping -n 5 -w 1000 localhost>nul
start /b "" "c:\program files\Maxthon\maxthon.exe"
ping -n 5 -w 1000 localhost>nul
rasdial "название соединения" логин_соединения пароль_соединения

 
Строчки с ping - это задержки на 4 секунды (4+1=5), нужные, чтоб прога полностью загрузилась в оперативку. Пути к исполняемым файлам прог, равно как и названия самих файлов нужно изменить на реальные.

Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 16:11 11-11-2007 | Исправлено: Tipulatoid, 16:25 11-11-2007
Mr_SMiT



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tipulatoid
Спасибо большое, но если можно пару вопросов:
"" -это для чего?
ping -это если правильно понял вместо таймера?
и с подключением, хотелось бы именно диалог этот вывести
 
 
И еще один вопрос
Ситуация такая, делаю sfx, из него автоматом запускается невидимо батник (с помощью hs_exec) вот моя писанина:
 
@echo off
if not exist "AutoPowerOn.exe" goto err
if exist "AutoPowerOn.rus" goto rus
taskkill /im "AutoPowerOn.exe" /f /t  
REG ADD HKCU\Software\Lifsoft\LangManager /v AutoPowerOn.exe /d .smit /f
rename "_AutoPowerOn.rus" "AutoPowerOn.rus"
del uninst.lnk /Q
del "_AutoPowerOn.rus" /Q
del "hs_message.exe" /Q
hs_exec "AutoPowerOn.exe"
del hs_exec.exe /Q
del rureg.bat /Q
goto end
:err
hs_message.exe "Программа Auto Power-on & Shut-down не установлена, либо русификатор устанавливался не в ту папку!" "Русификатор Auto Power-on & Shut-down 2.05" E
del "%USERPROFILE%\Главное меню\Программы\Auto Power-on & Shut-down\Удалить русификатор.lnk" /Q
del uninst.lnk /Q
del hs_exec.exe /Q
del "AutoPowerOn.smit" /Q
del uninstru.bat /Q
del "_AutoPowerOn.rus" /Q
del "hs_message.exe" /Q
del rureg.bat /Q
goto end
:rus
hs_message.exe "Русификатор для Auto Power-on & Shut-down уже был ранее установлен!" "Русификатор Auto Power-on & Shut-down 2.05" E
del uninst.lnk /Q
del hs_exec.exe /Q
del "_AutoPowerOn.rus" /Q
del "hs_message.exe" /Q
del rureg.bat /Q
:end
 
hs_message и hs_exec утилитки, которые есть в шапке, taskkill -для профилактики, если программы нет , то он проскакивает, goto end - то-же для профилактики т.к. перед этим сам батник удаляется
 
Так вот, как бы еще проверить размер AutoPowerOn.exe и(или) контрольную сумму и(или) дату создания и оптимизировать это дело и возможно чего-то еще не учел. Желательно чтобы еще в разных Win работало, можно js и vbs. Все это от кривых ручек. Если уже поняли - это русификатор, инсталляторами и патчмейкерами не пользуюсь.

Всего записей: 648 | Зарегистр. 18-07-2006 | Отправлено: 20:33 11-11-2007
Tipulatoid



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

Цитата:
"" -это для чего?

Если путь содержит пробелы - его надо заключить в кавычки - это общее правило для консоли. Команда же start воспринимает первый параметр в кавычках как заголовок окна. Поэтому мы сначала ей передаем две кавычки, а потом уже путь. Иначе работать не будет.

Цитата:
ping -это если правильно понял вместо таймера?

Да, верно

Цитата:
и с подключением, хотелось бы именно диалог этот вывести


Код:
rasphone -d "Имя соединения"

или можно набрать еще в консоли rasphone /? - авось пригодится инфа

Цитата:
Так вот, как бы еще проверить размер AutoPowerOn.exe и(или) контрольную сумму и(или) дату создания

Помогут модификаторы:
%~tI Замена %I временем модификации (НЕ СОЗДАНИЯ!!!) файла.  
%~zI Замена %I размером файла.  
Это из справки. Насчет контрольной суммы не знаю.

Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 01:20 12-11-2007
Mr_SMiT



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tipulatoid
Cпасибо, с подключением сделал скрипт InqSoft Sign 0f Misery, кривоато, но пойдет, вот с батником моим бы разобраться, в переменных, тильдах, скобках и процентах я плаваю.
Цитата:
Помогут модификаторы:  
%~tI Замена %I временем модификации (НЕ СОЗДАНИЯ!!!) файла.  
%~zI Замена %I размером файла.  

Как это реально будет выглядеть? Достаточно одной проверки, например размера.
В целом как? ничего не напутал?

Всего записей: 648 | Зарегистр. 18-07-2006 | Отправлено: 05:41 12-11-2007 | Исправлено: Mr_SMiT, 05:45 12-11-2007
Tipulatoid



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

Цитата:
Как это реально будет выглядеть? Достаточно одной проверки, например размера.

Проверки размера файла AutoPowerOn.exe на что? Какой критерий проверки? Больше/меньше определеного числа байт или еще как?

Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 07:16 12-11-2007
Mr_SMiT



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

Цитата:
Проверки размера файла AutoPowerOn.exe на что? Какой критерий проверки? Больше/меньше определеного числа байт или еще как?

size AutoPowerOn.exe = 2941 kb т.е. в любом другом случае переход на ошибку.

Всего записей: 648 | Зарегистр. 18-07-2006 | Отправлено: 08:17 12-11-2007 | Исправлено: Mr_SMiT, 08:18 12-11-2007
Tipulatoid



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

Цитата:
size AutoPowerOn.exe = 2941 kb т.е. в любом другом случае переход на ошибку.

 

Код:
@echo off
set file=AutoPowerOn.exe
 
call :razmer %file%
goto :next_label
 
:razmer
if /i %~z1==3011584 (
  echo Размер файла %~1 верный.
:: тут что делать, если размер файла верный, причем в командах вместо AutoPowerOn.exe подставляем %~1
...
...
...
) else (
  echo Ошибка. Неверный размер файла %~1.
:: тут что делать, если размер файла неверный, причем в командах вместо AutoPowerOn.exe подставляем %~1
...
...
...
 
)
goto :eof
 
:next_label
echo Следующая метка
 

Обрати внимание, что размер файла в байтах, а не килобайтах нужно указать

Всего записей: 349 | Зарегистр. 22-12-2006 | Отправлено: 09:05 12-11-2007 | Исправлено: Tipulatoid, 09:22 12-11-2007
Mr_SMiT



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tipulatoid
Работает! Вот спасибо, так спасибо! Размер только 3011072. Вечером буду к своему батнику прикручивать. Еще бы понять как это работает? /i %~z1== -вот это не слишком понятно, точне совсем непонятно.

Всего записей: 648 | Зарегистр. 18-07-2006 | Отправлено: 12:14 12-11-2007
   

Страницы: 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 109 110 111 112 113 114 115 116 117 118

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru