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

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

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

Всего записей: 118 | Зарегистр. 10-05-2006 | Отправлено: 11:15 24-09-2008
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Lexys
NET User /?
Net Group /?

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 11:37 24-09-2008
TrojanBY

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как ping записать в логи? кпримеру целый день компьютер включён и окно пинга открыто и писало в логе вот так: день-месяц-год [часы:минуты] > Превышен интервал ожидания для запроса
 
Тоесть каждую строчку в логи заносило.

Всего записей: 97 | Зарегистр. 28-03-2008 | Отправлено: 14:44 24-09-2008
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lexys
В дополнение к KapralBel-у:
NET GROUP используется, если компьютер в домене. Если нет - NET LOCALGROUP


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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 02:52 25-09-2008
i333ya

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята, извиняюсь, если баян (порылся - не нашёл).
 
Вопрос такой. Возможно ли в батнике считать значение ключа реестра и поместить его в переменную, или использовать напрямую. Конкретней - ключ AppPath в ветке HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Proga. Необходимо вытащить оттуда путь, чтобы потом скопировать туда несколько файлов.
reg query даёт такой вид:

Код:
 
! REG.EXE VERSION 3.0
 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Proga
    AppPath    REG_SZ    F:\Program Files\Programma
 

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

Всего записей: 6 | Зарегистр. 07-08-2005 | Отправлено: 10:13 25-09-2008
01MDM



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

Цитата:
что совсем неудобно для обработки.


 

Код:
 
@echo off
set "regpath=hklm\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Proga"
for /f "tokens=3*" %%i in ('reg query "%regpath%" ^| findstr /i AppPath') do (
      set apppath=%%i %%j
)
echo %apppath%
 


Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 10:42 25-09-2008
i333ya

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM - огромное спасибо за ответ!
 
Скрипт работает, но путь в переменной в таком виде:

Код:
 
F:\ProgramFiles\Programma
 

, т.е. без пробела. Соответственно, далее "Системе не удаётся найти указанный путь."
Как вернуть пробел?

Всего записей: 6 | Зарегистр. 07-08-2005 | Отправлено: 11:01 25-09-2008
Lexys

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Elroir
 
FOR %%a IN ( 1 2 3 4 5 6 7 8 9 10 134 35 52 234 ) DO ping -a 192.168.0.%%a >>scan.log
эта строка пингует сеть и записывает результат в файл scan.log
не помню, где он его создает - разберешься......

Всего записей: 118 | Зарегистр. 10-05-2006 | Отправлено: 11:19 25-09-2008
01MDM



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

Цитата:
Скрипт работает, но путь в переменной в таком виде:
 
Код:
 
F:\ProgramFiles\Programma
 

 
Специально создал такой же ключ и параметр и все нормально.
Попробуй изменить строчку (кавычки):

Код:
 
set "apppath=%%i %%j"
 

 
Или убери концевой пробел после %%j. Проблемы могли возникнуть только если бы параметр ключа содержал пробел, "App Path" например.

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 11:23 25-09-2008
i333ya

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
01MDM
Препокорнейше извиняюсь
Конечно, всё работает как надо. Это я не заметил, как пропустил решающий пробел в
Код:
 
set apppath=%%i %%j
 

Ещё раз, огромное спасибо за помощь!!!

Всего записей: 6 | Зарегистр. 07-08-2005 | Отправлено: 11:37 25-09-2008
Kilyan



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите разрешить задачу!
Есть каталоги (имена которых в формате 2008-09 ... и аналогичны) в них есть архивы .
Как из всех каталогов распаковать содержимое каждого архива и поместить в указанную папку?
Срочно нужно - уже всю голову сломал.  
 
З.Ы. если это возможно: указать пароль на распаковку архивов?

Всего записей: 884 | Зарегистр. 04-09-2008 | Отправлено: 13:17 25-09-2008
Elroir



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lexys
Это не мне. Вопрос про пинг задавал TrojanBY.

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

Всего записей: 2631 | Зарегистр. 05-02-2003 | Отправлено: 15:05 25-09-2008
zipper555

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем привет!
 
Если кто-нибудь может помочь в проблемке, помогите плз...
 
Суть в следующем:
 
Есть инет через проксю по скрипту, но нужный мне сайт занесен в блэклист.
Есть альтернатиная прокся с портом, есть юзер с логином и паролем под эту проксю, там этот сайт открыт.
 
Как прописать в батнике правильно выход на этот сайт через эту альтернативную проксю?  
 
Через команду runas очевидно, но я запутался с синтаксисом

Всего записей: 1 | Зарегистр. 25-09-2008 | Отправлено: 18:52 25-09-2008
vitrzn



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спрашивал уже ДВА раза, спрошу в ТРЕТИЙ (последний)
 
Возможно ли как-то написать батник, чтобы он копировал файлы по списку, а список этих файлов он брал из файла copy.txt (в текстовике просто список )
Если возможно такое, напишите плиз пример команды, а я уж его подправлю!
 
p.s. список этих файлов большой, да и он меняется периодически, поэтому просто команда copy и назв файла - не лчень удобно .

Всего записей: 1358 | Зарегистр. 28-10-2007 | Отправлено: 09:25 26-09-2008 | Исправлено: vitrzn, 09:27 26-09-2008
cluster

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно ли зашифровать пароль в батнике? От лишних глаз.

Всего записей: 1720 | Зарегистр. 21-11-2003 | Отправлено: 09:34 26-09-2008
KapralBel



Platinum Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
vitrzn
FOR /? (FOR /f)
 
cluster
Врядли

Всего записей: 11354 | Зарегистр. 16-02-2005 | Отправлено: 10:19 26-09-2008
monsoon



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cluster
Если требуется запустить программу от имени другого пользователя и требуется не показывать пароль можешь посмотреть что либо из этого: cpau, adminlink, execas  
Можно попробовать погуглить на cmd2exe, bat2exe или что-то похожее. Возможно есть преобразование в exe c шифрацией.

Всего записей: 1252 | Зарегистр. 30-01-2003 | Отправлено: 11:40 26-09-2008
Sandy Ann

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

Всего записей: 38 | Зарегистр. 05-02-2008 | Отправлено: 01:32 27-09-2008 | Исправлено: Sandy Ann, 01:35 27-09-2008
RMR

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

Код:
@echo off
FOR /F "tokens=* delims=" %%A IN ('type copy.txt') do call :copy "%%A"
pause
goto :eof
 
:copy
copy "%~1" "qw\%~1"
goto :eof

Sandy Ann

Код:
@echo off
:winamp
call :taskcheck winamp.exe
if errorlevel 1 (
echo running
echo pause 5 seconds
ping 127.0.0.1 -n 6 >nul
goto winamp
) else (
echo finished
)
pause
goto :eof
 
:taskcheck
tasklist | find "%~1" && exit /b 1 || exit /b 0

 
2ой вариант:

Код:
@echo off
call :taskcheck winamp.exe
pause
goto :eof
 
:taskcheck
for /F "tokens=1" %%f in ('tasklist ^| find "%~1"') do (
  if "%%f"=="" (exit /b) else (
  ping 127.0.0.1 -n 6 >nul
  goto taskcheck
  )
)


Всего записей: 32 | Зарегистр. 23-11-2006 | Отправлено: 13:08 27-09-2008 | Исправлено: RMR, 13:35 27-09-2008
Sandy Ann

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

Всего записей: 38 | Зарегистр. 05-02-2008 | Отправлено: 15:40 27-09-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.Board
© Ru.Board 2000-2020

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru