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

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



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

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 15:04 01-02-2010 | Исправлено: bomzzz, 15:09 01-02-2010
UltraAcid

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

Всего записей: 179 | Зарегистр. 03-10-2005 | Отправлено: 15:11 01-02-2010
Alecsan



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужна помощь шарящих людей!!!  
Требуется организовать автоматическую запись дисков. То есть, положил диск нажал на кнопку, чтоб лоток заехал, подождал, диск выехал с записанной информацией; положил следующий нажал кнопочку и т. д. На чистые диски - нужно, что б сразу писало, На перезаписываемые - удаляло инфу и записывало, а на мультисесионных - дописывало(если мало места - выбрасывало диск). И что бы всё это происходило без участии пользователя(только положил диск, нажал на кнопку и забрал)  
Как это прописать в nerocmd? или может посоветуете что другое.  
 
Да, но это уже не по теме, для флешек как организовать подобное. Вставил флешку подождал, услышал звуковой или др. сигнал. Вытянул флешку. Нужно что б писало автоматом один каталог и отключало флешку. Может, кто знает.  
Подскажите!

Всего записей: 4946 | Зарегистр. 29-08-2008 | Отправлено: 23:46 02-02-2010
bomzzz



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

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 09:53 03-02-2010
emfs

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

Всего записей: 900 | Зарегистр. 09-07-2007 | Отправлено: 04:24 05-02-2010
Chauvinist



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как автоматом запустить программу через контекстное меню. G:\QtWeb\QtWeb.exe
 
Запись контекстного меню "Запустить в песочнице" - "C:\Program Files\Sandboxie\Start.exe" /box:__ask__ "%1" %*

Всего записей: 4709 | Зарегистр. 27-10-2008 | Отправлено: 18:30 05-02-2010
pobat

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вопрос)
есть много фотографий. нужено  копировать документы в папки вида  
2008\[2008.xx.yy]
2009\[2009.xx.yy]
по дате последнего изменения файла

Всего записей: 91 | Зарегистр. 09-09-2009 | Отправлено: 00:53 06-02-2010 | Исправлено: pobat, 00:55 06-02-2010
DaveScream



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите как из под командной строки проверить открыт ли порт на удалённом хосте.
ping на удалённой машине запрещен, поэтому пользоваться связкой
 
ping ip
if errorlevel.....
 
не получается. Возможно как-то спомощью telnet ip port можно выполнить эту задачу? но в интернете про это ничего не нашёл.
Кто знает может быть есть какая нибудь лёгкая консольная приблуда, для проверки доступен ли порт на удалённой машине?
 
Добавлено:
Сам отвечаю на свой вопрос.
 
Для поисковика:
Под командной строкой доступность удалённого порта. Command Line port check. Command line port scan. cmd проверить порт.
 
вот ссылка которая мне помогла http://stackoverflow.com/questions/1168317/check-status-of-one-port-on-remote-host
 
а проверить можно с помощью netcat. http://download.securitylab.ru/_tools/20040716_nc11nt.zip
 
проверять вот так:
 
nc -z 8.8.8.8 53
if errorlevel 1 notepad.exe
 
правда у меня при смене состояния errorlevel не всегда  сразу меняется с 0 на 1 или с 1 на 0, поэтому приходится два раза запускать:
 
nc -z 8.8.8.8 53
nc -z 8.8.8.8 53
if errorlevel 1 notepad.exe
 
извините за сумбур. тем кто будет искать инфу через поисковик думаю поможет.
 

Всего записей: 31 | Зарегистр. 11-12-2005 | Отправлено: 18:42 06-02-2010 | Исправлено: DaveScream, 20:15 06-02-2010
farseer777



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

Код:
set wc3path=%~dp0
reg add "HKCU\Software\Blizzard Entertainment\Warcraft III" /v InstallPath /t REG_SZ /f /d "%wc3path%"
 

При записи этого параметра в реестр он записывается с кавычкой в конце. Т. е. если путь выглядит как "C:\games\WC3\", то в реестре пишется «C:\games\WC3\"». Как можно это исправить?
Кроме того, если в примере поменять местами /f и /d, то путь вообще запишется как «C:\games\WC3\" /f».
Если после /d писать без кавычек, то выходит ошибка "Ошибка: Слишком много параметров в командной строке.".

Всего записей: 169 | Зарегистр. 07-06-2006 | Отправлено: 13:10 07-02-2010 | Исправлено: farseer777, 13:11 07-02-2010
bomzzz



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
страно у тебя пробелов нет в имени - убери последний слеш.  
set wc3path=%wc3path:~0,-1%

Цитата:
 
REG ADD <раздел> [/v <параметр> | /ve] [/t <тип>] [/s <разделитель>]
                 [/d <данные>] [/f]
 
  <раздел> [\\<компьютер>\]<путь>
       <компьютер> Имя удаленного компьютера, если оно опущено, то по умолчанию
                   считается равным имени локального компьютера.
                   На удаленных компьютерах доступны только разделы HKLM и HKU.
       <путь>      Полный путь к разделу реестра в виде КОРЕНЬ\Подраздел.
       <КОРЕНЬ>    Корневой радел. Значения [ HKLM | HKCU | HKCR | HKU | HKCC ].
 
       <подраздел> Полный путь к разделу реестра в выбранном корневом разделе.
 
  /v   Имя добавляемого параметра в указанном разделе.
 
  /ve  Добавить пустой параметр (По умолчанию) в указанный раздел.
 
  /t   Типы данных.
       [REG_SZ    | REG_MULTI_SZ  | REG_DWORD_BIG_ENDIAN    |
        REG_DWORD | REG_BINARY    | REG_DWORD_LITTLE_ENDIAN |
        REG_NONE  | REG_EXPAND_SZ ]
       По умолчанию, считается равным REG_SZ.
 
  /s   Определяет разделитель, который используется для разделения данных в
       многострочных параметрах типа REG_MULTI_SZ. По умолчанию, считается
       равным "\0".
 
  /d     Значение, присеваемое добавляемому параметру реестра.
  /f     Принудительно перезаписывать существующие записи реестра
         без предупреждения.
 

 
 
а у тебя параметр /f  в правильное место записан???7

Всего записей: 13343 | Зарегистр. 13-01-2008 | Отправлено: 13:18 07-02-2010 | Исправлено: bomzzz, 13:22 07-02-2010
farseer777



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
bomzzz
Путь "C:\games\WC3\" я как пример привел, у меня путь "D:\Games\Warcraft III\". Надо было с него начинать, сорри.

Цитата:
set wc3path=%wc3path:~0,-1%

Проблема решилась после вставки этой строчки, не понял, чего это ему не понравился слеш в конце.

Цитата:
а у тебя параметр /f  в правильное место записан???7

Я его вставлял и до, и после /d. Оба раза все было ОК, т е команда не спрашивала, добавить ли ей параметр в реестр или нет. Только в этом случае:

Код:
set wc3path=%~dp0  
reg add "HKCU\Software\Blizzard Entertainment\Warcraft III" /v InstallPath /t REG_SZ /d "%wc3path%" /f

, где /f стоит после /d, и слеш не убирается, в реестре запишется значение «C:\games\WC3\" /f» и выдается запрос на перезапись.

Всего записей: 169 | Зарегистр. 07-06-2006 | Отправлено: 13:34 07-02-2010 | Исправлено: farseer777, 14:03 07-02-2010
kalkin5



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

Всего записей: 189 | Зарегистр. 21-03-2006 | Отправлено: 16:11 09-02-2010
Solotoy



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
всем здарова!
в общем 2 баттника ниже,не совсем понимаю что они делают(связано с лицензией  )
 я хотел бы скопировать все файлы которые там задействованы ,и тоже при помощи батника т. как физического доступа к компьютеру администратора нет...
люди помогите пожалуйста. PS если скопировать нельзя -я должен был спросить извиняйте...Благодарю.
первый батник: (с него всё запускается)
@echo off
 
set PARAM=
:param
if "%1"=="" goto :nopar
if exist %1 goto :nopar
set PARAM=%PARAM% %1
shift /1
goto :param
:nopar
if "%PARAM%"=="" set PARAM=/l3
 
call itncenv.bat %1
start /b /d"%TNCROOT%" itnclаunch.exе /s %PARAM% itnclаunch.lis
 
 
второй батник  
имя: itncеnv.bаt
for /f "delims=*" %%i in ('cd') do set TNCROOT=%%i
if not "%1"=="" set TNCROOT=%~1
 
set DISPLAY=127.0.0.1:0.0
set HEROSROOT=%TNCROOT%\sys
set XWINROOT=%TNCROOT%\xwin
set XKEYSYMDB=%TNCROOT%\xwin\lib\x11\XKeysymDB
set HOME=
set HOMEDRIVE=
set Path=%TNCROOT%\sys\bin;%TNCROOT%\xwin\bin;%TNCROOT%\sys\usr\lib\gtk\bin;%Path%

Всего записей: 175 | Зарегистр. 23-01-2007 | Отправлено: 22:13 09-02-2010 | Исправлено: Solotoy, 22:13 09-02-2010
01MDM



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

Цитата:
как назначить глобальную переменную, чтобы после перезагрузки она осталась и была рабочей?

Путем внесения записей в реестр.
 
Для пользователя: HKCU\Environment
Для всех: HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
 
Либо запускать командную оболочку через батник, в котором определять переменные.  

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 22:23 09-02-2010
dvk54

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

Всего записей: 178 | Зарегистр. 18-06-2005 | Отправлено: 08:07 12-02-2010
01MDM



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dvk54
Только с помощью сторонних утилит. Советую инструмент на все времена
В документации смотри `setfiletime`

Всего записей: 2638 | Зарегистр. 13-02-2006 | Отправлено: 21:59 12-02-2010 | Исправлено: 01MDM, 22:02 12-02-2010
december2010

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мужики, есть непонятка в вопросе как запихнуть батником сурс текстовика в реестр, не зная одного из значений пути ветки, но известен следующий путь.
К примеру HKLM\software\Data\неизвестно\vars
И вообще реально добавить 1кб текста в реестр? Именно текста, а не binary.

Всего записей: 11 | Зарегистр. 13-02-2010 | Отправлено: 03:56 13-02-2010
webms

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
помогите пожалуйста написать батник что забирал файл с http://www.ved.metroland.ru/updates/nod32/updates.rar и распокавал через винрар в диск С:\
 
за ранее спасибо

Всего записей: 27 | Зарегистр. 19-11-2009 | Отправлено: 05:29 13-02-2010
spectro

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужна помощь.
Хочу сделать батник который бы задавал вопрос:
Какая у вас версия Windows?
1. English
2. Russian
и при положительном ответе (1) копировал 1 файлик в папку с заменой

Всего записей: 4 | Зарегистр. 28-12-2005 | Отправлено: 11:53 13-02-2010
Zakkazak



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
нужно с помощью Nircmd автоматизировать действия, если это возможно :
 
открыть программу:
Код:
..\AddrView\addrview.exe
вызвать команду из меню файл:
Код:
sendkey f press
sendkey u press
открываеться диалог, в нём сделать:
Код:
dlg "AddrView.exe" "Open HTML from URL address" settext 1001 "$current_url"
dlg "AddrView.exe" "Open HTML from URL address" click ok  

 
$current_url - параметр который браузер должен передать Nircmd
 
=======
решено

Всего записей: 995 | Зарегистр. 12-01-2005 | Отправлено: 18:09 13-02-2010 | Исправлено: Zakkazak, 00:13 14-02-2010
   

Страницы: 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.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru