Ru-Board.club
← Вернуться в раздел «Программы»

» Командная строка, батники, сценарии (bat, cmd) 2

Автор: Fantom 14
Дата сообщения: 13.01.2008 10:51
а есть ли у консольной версии рар архиватора возращаемые параметры? можно ли как нить записать результат работы этого архиватора в лог файл?
и имеются ли такие же параметры у стандартных команд консоли?
Автор: XXXXL
Дата сообщения: 13.01.2008 12:04
Здравствуйте ребята.

Мне нужно чтобы при запуске командной строки контекст выбора
примерно так:
если вам нужно ЯЯЯЯ нажмите 1
если вам нужно тытыты нажмите 2
если вам нужно мымымы нажмите 3

И после выбора определенного поля выполняется та определенная команда.

после выбора 1 выполняется команда:

Цитата:
MOVE /Y xxx.dll "%systemroot%\system32"

и так далие.
Надеюсь задумку вы поняли ) .

Помогите осуществить.



Автор: Elroir
Дата сообщения: 13.01.2008 20:55
Fantom 14
Используй значения переменной errorlevel для получения результата операции с rar-ом:

Цитата:
RAR exits with a zero code (0) in case of successful operation. The exit
code of non-zero means the operation was cancelled due to an error:

255 USER BREAK User stopped the process
9 CREATE ERROR Create file error
8 MEMORY ERROR Not enough memory for operation
7 USER ERROR Command line option error
6 OPEN ERROR Open file error
5 WRITE ERROR Write to disk error
4 LOCKED ARCHIVE Attempt to modify an archive previously locked
by the 'k' command
3 CRC ERROR A CRC error occurred when unpacking
2 FATAL ERROR A fatal error occurred
1 WARNING Non fatal error(s) occurred
0 SUCCESS Successful operation

Кроме того, у rar-а есть ключи, при использовании которых, он создает log файлы.

XXXXL

Код:
@echo off
chcp 1251 >nul
echo если вам нужно ЯЯЯЯ нажмите 1
echo если вам нужно тытыты нажмите 2
echo если вам нужно мымымы нажмите 3
set /p "ans=Ваш выбор? "
if %ans%==1 (MOVE /Y xxx.dll "%systemroot%\system32")
if %ans%==2 (MOVE /Y yyy.dll "%systemroot%\system32")
if %ans%==3 (MOVE /Y zzz.dll "%systemroot%\system32")
Автор: XXXXL
Дата сообщения: 13.01.2008 22:45
Elroir благодарствую!!!
то что и нужно было.

Зря тут нету кнопоки "спасибо"
Автор: Anton34237
Дата сообщения: 14.01.2008 02:10
To all
Ребята подскажите, пожалуйста, есть файл .cmd для прописания IP, а как установить динамический?


@netsh interface ip set address name="Подключение по локальной сети" static 192.168.0.2 255.255.255.0 192.168.0.1 1
@echo Идет настройка DNS сервера
@netsh interface ip set dns name="Подключение по локальной сети" static 172.16.0.1
@netsh interface ip add dns name="Подключение по локальной сети" 10.10.10.1 index=2
@pause
Автор: Taciturn
Дата сообщения: 14.01.2008 05:54
Anton34237
@netsh interface ip set address name="Подключение по локальной сети" source=dhcp
@echo Идет настройка DNS сервера
@netsh interface ip set dns name="Подключение по локальной сети" source=dhcp
@pause
Автор: Anton34237
Дата сообщения: 14.01.2008 07:28
Taciturn
Спасибо, всё работает, как надо.
Автор: XXXXL
Дата сообщения: 15.01.2008 23:12
Всем привет!

Есть бат:

Цитата:
@echo off
rasdial "[CONNECTION]" /disconnect
sleep.exe 3
rasdial "[CONNECTION]" "[USERNAME]" "[PASSWORD]"


Нужен бат с диалогом который при запуски спросит "ваше название соединения" после ввода заменит [CONNECTION] на введенное, потом попросит ввести логин и заменит им [USERNAME] и с [PASSWORD] анологично.
Знаю что мысль бред, но мне парой ой как надо.
Автор: KapralBel
Дата сообщения: 16.01.2008 00:06
XXXXL
rasdial "[CONNECTION]" * *
Может такое устроит?
Автор: XXXXL
Дата сообщения: 16.01.2008 06:15

Цитата:
rasdial "[CONNECTION]" * *
Может такое устроит?


Нет. это не то что нужно (
Тут весь смысл в том что очень часто приходится объяснять людям как заполнить Reconnect.bat

Цитата:
@echo off
rasdial "имя соединения" /disconnect
rasdial "имя соединения" "логин" "пароль"

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

Автор: Nitrogen
Дата сообщения: 16.01.2008 07:21
XXXXL
setup.cmd создающий connect.cmd

Цитата:

@echo off
echo Enter Conection name:
set /p connect=
echo.
echo Enter Login:
set /p login=
echo.
echo Enter Password:
set /p password=

echo echo off>connect.cmd
echo rasdial "%connect%" /disconnect>>connect.cmd
echo ping 127.0.0.1 -n 5 >>connect.cmd
echo rasdial "%connect%" "%login%" "%password%">>connect.cmd

или я не понял твое тз
Автор: KapralBel
Дата сообщения: 16.01.2008 10:22
XXXXL
Не понял - зачем разрывать связь, а потом её снова запускать

Может перетянуть ярлык на нужное подключение - будет и запрос имени и пароля

Давай более подробную задачу
Автор: kalkin5
Дата сообщения: 16.01.2008 11:10
2ALL
подскажите пож-та как правильно изменить файлик? нужно чтобы задержка была 20 сек
был исходный файл, на 5 сек
Код: echo on
SetLocal EnableExtensions EnableDelayedExpansion

rem Установлена задержка в 5 секунд
rem Через 5 секунд продолжится

set /a paused=%time:~7,-3%+5
if %paused% GEQ 10 set /a paused=!paused!-10
:check
set /a ttt=%time:~7,-3%
if not %paused%==%ttt% goto :check

pause
Автор: XXXXL
Дата сообщения: 16.01.2008 17:55

Цитата:
Не понял - зачем разрывать связь, а потом её снова запускать

Может перетянуть ярлык на нужное подключение - будет и запрос имени и пароля

Давай более подробную задачу


Это компонент для программы которая качает автоматом с rapidshare.com а этот сервер даёт бесплатно скачивать только один раз в два часа с одного IP адреса. и после того как программа скачает файл она запускает этот бот который и заменяет ip.
Чел запускает прогу и открывается бат каторый и поможет настроить тот самый бат для реконекта. Я использовал спец прогу каторыя сама выдергивать пас и логин и записывала в реконнект бат. только на неё кричат антивирусы(

Nitrogen
Это то что и нужно было! спасибо! ограмное!



Добавлено:
Почему этот код не хочет работать
В чём может быть ошибка?

Цитата:
@echo off
chcp 1251 >nul
echo ESLI U VAS OBICHNOE PODKLUCHENIE JMITE 1 i ENTER
echo ESLI U VAS ROUTER Fritz!Box JMITE 2 i ENTER
echo ESLI U VAS ROUTER JMITE 3 i ENTER
echo ESLI U VAS STRIM JMITE 4 i ENTER

set /p "ans=vash vibor? "

if %ans%==1 (echo Enter Conection name:
set /p connect=
echo.
echo Enter Login:
set /p login=
echo.
echo Enter Password:
set /p password=
echo echo off>reconect.bat
echo rasdial "%connect%" /disconnect>>reconect.bat
echo sleep.exe 3 >>reconect.bat
echo rasdial "%connect%" "%login%" "%password%">>reconect.bat)

if %ans%==2 (FritzBoxreconect)

if %ans%==3 (echo Enter yo router Ip:
set /p Ip=
echo.
echo Enter Login:
set /p login=
echo Enter Password:
set /p password=
echo h %IP% >>autoTln\doit.prc
echo c >>autoTln\doit.prc
echo p 2000 >>autoTln\doit.prc
echo s %login% >>autoTln\doit.prc
echo p 1000 >>autoTln\doit.prc
echo s #13 >>autoTln\doit.prc
echo p 2000 >>autoTln\doit.prc
echo s %password% >>autoTln\doit.prc
echo p 1000 >>autoTln\doit.prc
echo s #13 >>autoTln\doit.prc
echo p 2000 >>autoTln\doit.prc
echo s reboot >>autoTln\doit.prc
echo s #13 >>autoTln\doit.prc
echo p 15000 >>autoTln\doit.prc
echo d >>autoTln\doit.prc)

if %ans%==4 (echo Enter yo router Ip:
set /p Ip=
echo.
echo Enter Password:
set /p password=
echo ztnbatch.exe -h %IP% -p %password% -c "poe drop poe0">>reconect.bat)





Автор: Elroir
Дата сообщения: 16.01.2008 22:42
XXXXL

Цитата:
Почему этот код не хочет работать
В чём может быть ошибка?

1. Поставь на второй строчке (после @echo off):

Код: setlocal enabledelayedexpansion
Автор: XXXXL
Дата сообщения: 17.01.2008 06:39

Цитата:
1. Поставь на второй строчке (после @echo off):
2. Везде, где используется конструкция %переменная%, замени на !переменная!


Заработало на ура!

Elroir, Nitrogen, СПАСИБО!
Автор: 01MDM
Дата сообщения: 17.01.2008 09:16
kalkin5
Не проще использовать ping.exe?

Код:
@echo off
echo Установлена задержка в 20 секунд
echo Через 20 секунд продолжится...
ping -n 21 localhost >nul
echo ...продолжилось
Автор: kalkin5
Дата сообщения: 17.01.2008 11:26
01MDM
может быть и проще... не пробывал
мне нужно засунуть в RunOnceEx.cmd паузу секунд на 40, вот думаю как это проще сделать...
никто не подскажет?
озвучивал на oszone на там пока никто не ответил

Автор: Elroir
Дата сообщения: 17.01.2008 13:22
kalkin5
Здесь несчетное количество раз обсуждался вопрос паузы или задержки. Было предложено много решений - ping, sleep.exe, циклы в батниках....
Поищи в версии для печати первой части топика по слову "задержка".
Автор: kalkin5
Дата сообщения: 17.01.2008 16:13
Elroir
я понимаю спасибо, просто есть опасение, что команда вызванная из RunOnceEx напрямую, некоректно отработает, а если команда вызовет bat или cmd файл с задержкой, то возможно след команда, которая будет импортировать злополучные ключи в реестр запустится до того как отработает файлик с задержкой, буду пробывать на виртуалке, еще раз спасибо всем кто откликнулся
Автор: Smitis
Дата сообщения: 17.01.2008 19:13
kalkin5

Цитата:
мне нужно засунуть в RunOnceEx.cmd паузу секунд на 40, вот думаю как это проще сделать...
никто не подскажет?

Как сделать паузу в батнике http://forum.ru-board.com/topic.cgi?forum=62&topic=11825&start=1300#6
Это стандартными средствами. А так как тебе нужно для установки винды, спокойно можешь добавить в дистрибутив sleep.exe
Автор: thefree
Дата сообщения: 17.01.2008 22:22
а встречали ли irc console client, telnet прошу не предлагать.
Автор: kalkin5
Дата сообщения: 18.01.2008 09:33
Smitis
спасибо, странно однако, вот мой файлик RunOnceEx.cmd:
Код: color 9F
cmdow @ /HID

SET CDROM=%~d0

SET KEY=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx
SET i=100

REG ADD %KEY%\%i% /VE /D Registry tweaks - no sound" /f
REG ADD %KEY%\%i% /V 1 /D "REGEDIT /S %CDROM%\$OEM$\sound.reg /s" /f
SET /A i+=1

REG ADD %KEY%\%i% /VE /D Registry tweaks - RecycleBin setting" /f
REG ADD %KEY%\%i% /V 1 /D "REGEDIT /S %CDROM%\$OEM$\trash.reg /s" /f
SET /A i+=1

REG ADD %KEY%\%i% /VE /D Registry tweaks - no animate" /f
REG ADD %KEY%\%i% /V 1 /D "REGEDIT /S %CDROM%\$OEM$\noanimate.reg /s" /f
SET /A i+=1

REG ADD %KEY%\%i% /VE /D "Cleaning Up" /f
REG ADD %KEY%\%i% /V 1 /D "%CDROM%\$OEM$\cleanup.cmd" /f
SET /A i+=1

EXIT
Автор: Smitis
Дата сообщения: 18.01.2008 18:37
kalkin5

Цитата:
полный путь не указывал тк reg файлик лежит в той же папки что и cleanup.cmd

Это даже лишнее. Достаточно чтобы reg.exe лежал в %systemroot%\system32. Собственно говоря, начиная с ХР он там и лежит.

Что бы проверить, импортировались ли параметры, сделай экспорт и посмотри результат.

У меня примерно такой же файл и всё работает. Только там не импорт рег-файлов, а запуск инсталяторов.

Добавлено:
Попробуй упростить. Сделай из RunOnceEx запуск одного cmd-файла. Из него импортируй все рег-файлы и сделай cleanup

Добавлено:
И ещё. Ты уверен, что с сидюка файлы реестра нормально импортируются? Ну мало ли какие нюансы.
Автор: aka_smile
Дата сообщения: 19.01.2008 14:49
Подскажите.
есть исходная строка
forum/18

надо командной строкой сделать вот такое:
forum/18/0

скажи как составить такой бат файл?
Автор: Smitis
Дата сообщения: 19.01.2008 19:09
aka_smile

Цитата:
есть исходная строка
forum/18

надо командной строкой сделать вот такое:
forum/18/0


Код:
set s=forum/18
set s=%s%/0
echo %s%
Автор: kalkin5
Дата сообщения: 21.01.2008 09:39
Smitis
дело не в файле, тк путем многочисленных загрузок виртуальной машины удалось установить, импирическим путем так сказать что ключи указанные ниже
Код: REGEDIT4
[HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics]
"MinAnimate"="0"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]
"TaskbarAnimations"=dword:00000000
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\VisualEffects]
"VisualFXSetting"=dword:00000003
Автор: 01MDM
Дата сообщения: 21.01.2008 11:51
kalkin5
А на каком этапе ты импортируешь ключи в HKEY_CURRENT_USER? HKCU это ссылка на один из HKU\S-1-5-*
Если до создания пользователя или до его залогинивания, то ключи уходят в HKCU системы или если быть более точным в HKU\S-1-5-18 (NT AUTHORITY\System)
Автор: bredonosec
Дата сообщения: 22.01.2008 04:58

Цитата:
если у кого есть другие идеи как их импортировать (к примеру с помощью какого-нибудь хитрого батничка) - wellcome
отдельным окном? Или изменить вид приветствия при входе в вынь?
второе в реестре делает [more=ключик:]

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\\LogonPrompt
Изменить сообщение при входе в систему.
Тип: REGSZ;
Значение: (по умолчанию параметра нет; любое допустимое)

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\\GinaDLL
Система подгружает стандартную библиотеку Microsoft GINA DLL (Graphical Identification and Authentication dynamic-link library) называемую MSGina.dll. Этот параметр позволит ее заменить на другую. Также, если создать данный параметр, не будет появляться окно приветствия ХР.
Тип: REGSZ;
Значение: (по умолчанию параметра нет; полный путь и имя файла)[/more]
Автор: kalkin5
Дата сообщения: 22.01.2008 11:47
01MDM
про этап - или из RunOnceEx.cmd или из cleanup.cmd который запускается из RunOnceEx.cmd, это все происходит при первом входе в систему

bredonosec
не совсем понял, я хочу чтобы после установки винды не было эффекта анимации при сворачивании окон или при их разворачивании

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

Предыдущая тема: DVD-video (ДВД-видео) - что и как (часть 3)


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.