Ru-Board.club
← Вернуться в раздел «Microsoft Windows»

» Задачи на bat-файлах

Автор: VladimirKvach
Дата сообщения: 18.09.2006 09:29
ViSiToR

Про шрифт уже сам разобрался. Только вот как бы его из самого батника менять. Наверно не возможно ...
Автор: tolyn77
Дата сообщения: 18.09.2006 14:58
подскажите как можно через скрипт отключить "отключения дисплея" и "отключение дисков"?
Автор: Refugee
Дата сообщения: 18.09.2006 17:08
tolyn77
powercfg /?
Автор: ViSiToR
Дата сообщения: 18.09.2006 18:10
VladimirKvach


Цитата:
Наверно не возможно ...

Возможно, ведь как я понял, ты хочешь чтобы при запуске батника, автоматом устанавливался шрифт Lucidia Console? Я над этим вопросом тоже одно время мучался, и решение оказалось простое:

В начало батниа, пишем эти строчки:


Код: REG ADD "HKCU\Console" /v FaceName /t REG_SZ /d "Lucida Console" /f
REG ADD "HKCU\Console\%%SystemRoot%%_System32_cmd.exe" /v FaceName /t REG_SZ /d "Lucida Console" /f
Автор: tolyn77
Дата сообщения: 19.09.2006 07:33
Привет, Алл

подскажите почему в этом скрипте при распаковке зипов и удалению txt он не понимает где?
пишет [more=ошибку]
S:\drweb\bases\Updater>pkunzip -o \*.zip

PKUNZIP (R) FAST! Extract Utility Version 2.04e 01-25-93
Copr. 1989-1993 PKWARE Inc. All Rights Reserved. Shareware Version
PKUNZIP Reg. U.S. Pat. and Tm. Off.

■ 80486 CPU detected.
■ XMS version 2.00 detected.
■ DPMI version 0.90 detected.

PKUNZIP: (E09) can't find: /*.zip

S:\drweb\bases\Updater>del /q /f \*.txt
Не удается найти S:\*.txt
[/more]


Код:
@echo off
set p=%1
if not exist %p% goto end1
cd %p%
wget --non-verbose --timestamping --output-file=%p%\wget.log --directory-prefix=%p% http://drweb.ru/bases/drwebase.zip
pkunzip -o %p%\*.zip
del /q /f %p%\*.txt
goto end
:end1
echo error
goto end
:end
exit 0
Автор: ViSiToR
Дата сообщения: 19.09.2006 08:21
tolyn77

Цитата:
почему в этом скрипте при распаковке зипов и удалению txt он не понимает где?

А где находятся файлы *.txt и *.zip? И как сскрипт вообще доходит до того, что выдаётся ошибка от утилиты pkunzip? - судя по составу, скрипт должен сразу уходить в метку end. Как я это вижу, задан не каталог, а параметр. Нужно просто вместо %1 задать каталог с файлами...


Код:
@echo off
set p=Тут путь к файлам
if not exist %p% goto end1
cd %p%
wget --non-verbose --timestamping --output-file=%p%\wget.log --directory-prefix=%p% http://drweb.ru/bases/drwebase.zip
pkunzip -o %p%\*.zip
del /q /f %p%\*.txt
goto end
:end1
echo error
goto end
:end
exit 0
Автор: tolyn77
Дата сообщения: 19.09.2006 08:45
ViSiToR
да именно передается аргумент, спасибо за call помогло
только опять проблема
теперь pkunzip чего не того, я так понимаю он пытается распаковать в S:\drweb\bases\Updater, а можно сделать как нибудь что бы он распаковывал в %p%?
[more=ошибка]
S:\drweb\bases\Updater>pkunzip -o c:\drweb\*.zip

PKUNZIP (R) FAST! Extract Utility Version 2.04e 01-25-93
Copr. 1989-1993 PKWARE Inc. All Rights Reserved. Shareware Version
PKUNZIP Reg. U.S. Pat. and Tm. Off.

ю 80486 CPU detected.
ю XMS version 2.00 detected.
ю DPMI version 0.90 detected.
Searching ZIP: C:/DRWEB/DRWEBASE.ZIP
PKUNZIP: (W10) Warning! can't create: drwebase.vdb
[/more]
Автор: Kirillhome
Дата сообщения: 19.09.2006 09:16
tolyn77

Цитата:
теперь pkunzip чего не того, я так понимаю он пытается распаковать в S:\drweb\bases\Updater, а можно сделать как нибудь что бы он распаковывал в %p%?


Код:
pkunzip -o %p%\*.zip %p%\
Автор: Vrem
Дата сообщения: 19.09.2006 10:09
Подскажите, а какой командной строкой можно вызвать это окно?:

Автор: tolyn77
Дата сообщения: 19.09.2006 10:33
Refugee
C:\>powercfg /?
"powercfg" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Автор: Kirillhome
Дата сообщения: 19.09.2006 12:08
tolyn77
А тогда "дурацкий" вопрос - какая версия Window's???
В Win'XP SP2 - powercfg.exe находится в Windows\system32
Автор: Refugee
Дата сообщения: 19.09.2006 12:40
tolyn77
если у тебя 2000, скопируй из xp powercfg.exe и xpsp2res.dll
Автор: tolyn77
Дата сообщения: 19.09.2006 14:04
да ось 2000, нашел XP, а вот такой вопрос, у меня несколько профилей есть в которых значения электропитаний не дает возможности менять, как через скрипт поменять в текущем профиле?
Автор: Kirillhome
Дата сообщения: 19.09.2006 14:36
tolyn77
Посмотрите на RunAs, ну и вообще - здесь
Автор: kpuk
Дата сообщения: 19.09.2006 14:51
а есть какаянить команда монитор тушить и чтобы он не включался от движения мыши, а включался от тойже команды в реверсном режиме??с
Автор: tolyn77
Дата сообщения: 19.09.2006 16:14
Kirillhome
не Ты не понял, runas тут не поможет!!! так как он активирует профиль того пользователя под которым запускаешь, а значения энергосбережения нужно менять только в текущем профиле!!!а уменя не хватает прав.
я делал так давал права локального админа изменял значения энергосбережения, потом обратно забирал права админа, вот так. а я бы хотел как нибудь без изменения прав
Автор: Refugee
Дата сообщения: 19.09.2006 20:08
tolyn77
дай юзерам доступ на запись на HKLM\Software\Microsoft\Windows\CurrentVersion\Controls Folder\PowerCfg\PowerPolicies\
кстати, это через GP можно сделать
Автор: ViSiToR
Дата сообщения: 19.09.2006 21:41
Vrem
Цитата:
какой командной строкой можно вызвать это окно?


Можно вызвать окно языков и региональных стандартов:


Код: start intl.cpl
Автор: Vrem
Дата сообщения: 19.09.2006 23:15
ViSiToR

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

Это я знаю. Мне нужен именно тот аплет, что выше. Я где-то натыкался на его вызов, он вроде делается через rundll32.exe, но найти не могу.
Автор: Refugee
Дата сообщения: 20.09.2006 01:23
Vrem
Rundll32 shell32,Control_RunDLL intl.cpl, , /I
или control intl.cpl,/I
кстати, здесь написано, как ему подсунуть .inf с настройками языков
Автор: Vrem
Дата сообщения: 20.09.2006 01:36
Refugee

Спасибо, то что нужно!
Автор: tolyn77
Дата сообщения: 20.09.2006 07:16
Refugee
спасибо за ключ в реестре, да я знаю что можно задать через груповые политики, только я то хочу что пользователь на самом деле не имел возможности редактировать, я хочу один раз в его профили азначить параметры и все больше что бы ни кто не имел возможности менять.
Автор: TSCHIPOLINO
Дата сообщения: 20.09.2006 16:25
Добрый день.
У меня такой вопрос. Как все буквы r в именах файлов заменить на буквы p.
Кто знает, подскажите.
Автор: tolyn77
Дата сообщения: 20.09.2006 16:50
ViSiToR
а он мне по команде dir после смены каталога cd
он отображает каталог откуда запущен скрипт
Автор: Refugee
Дата сообщения: 20.09.2006 17:01
TSCHIPOLINO
setlocal enabledelayedexpansion
for %%i in (*) do set t=%%i & ren "!t!" "!t:r=p!"
Автор: tolyn77
Дата сообщения: 21.09.2006 07:04
Refugee
а можно как нибудь удалить все символы в имени файла после определенного, ну например был
Q311967_FFC1E87846E9C85815FF78E2276BE595BA547F38.exe
q312369_37389F2393D35E685CF3818D75C6123365F5EEF2.exe
а нужно так
Q311967.exe
q312369.exe
?
Автор: Allex_Van_Fogen
Дата сообщения: 21.09.2006 09:00
tolyn77

Код:
for /f "tokens=1,2 delims=_" %%a in (ListOfFiles.txt) do rename %%a_%%b %%a.exe
Автор: ViSiToR
Дата сообщения: 21.09.2006 12:27

Цитата:
Вот один из вариантов реализации

А можно и проще :

del "%~f0"

----------------

Есть такая задача:

Нужно сделать проверку, на подключении к сети. Т.е если комп подключён к инету, то нужно чтобы возвращался %errorleve% 0, а если не подключён, то чтобы возвращал естественно %errorlevel% 1 - Возможно такое?
Автор: Allex_Van_Fogen
Дата сообщения: 21.09.2006 14:51

Цитата:
ViSiToR
del "%~f0"


Ругаитца! ;o)


Цитата:
Нужно сделать проверку, на подключении к сети.

А ping.exe чем то неустраивает? Как раз возращает 1 в errorlevel. Вот например:

Код:
@echo off
echo Start link testing...
set mF=%SystemRoot%\Temp\pingfail.err
ping -n 1 "ДАЛЬНИЙ" IP АДРЕС>NUL
if ERRORLEVEL 1 (
    echo ISP UA-IX link down. Now trying gateway...
    ping -n 8 "БЛИЖНИЙ" IP АДРЕС (шлюз прова напр.)>NUL
    if ERRORLEVEL 1 (
        echo ISP gateway link down. Some trouble...
        if not exist %mF% rem.>%mF%&&call :Reboot
        goto :EOF
    ) else (
        echo Gateway is Ok! Call your ISP ^(t. XXX-XXXX^) to solve Internet link trouble.
    )
) else (
call :SDel %mF%
echo Ok.
echo Link work fine. Bye!
)
set mF=
goto :EOF

:Reboot
ping -n 1 127.0.0.1>NUL
if not ERRORLEVEL 1 (call :SendAlert) else echo Can't send alert. May be LAN interface down...
echo Trying restart...
net send * ATTENTION! The %COMPUTERNAME% will be restarted in 10 sec due Internet link problem.>NUL 2>&1
shutdown /r /f /t 10 /d E:5:20 /c "GATEWAY LINK DOWN">NUL 2>&1
goto :EOF

:SendAlert
set tM=smtp://сервер.куда.слать
set tF=%SystemRoot%\Temp\$temp$.tmp
echo From: ^<адрес1@домен1^>>%tF%
echo To: ^<адрес2@домен2^>>>%tF%
echo Subject: ATTENTION! %COMPUTERNAME% sheduled to reboot due interface problem.>>%tF%
echo Date: %DATE% %TIME:~0,-3% +0300>>%tF%
echo Organization: Censured>>%tF%
echo MIME-Version: 1.0>>%tF%
echo Content-Type: text/plain;>>%tF%
echo     format=flowed;>>%tF%
echo     charset="koi8-r";>>%tF%
echo     reply-type=original>>%tF%
echo Content-Transfer-Encoding: 7bit>>%tF%
echo X-Priority: ^1>>%tF%
echo X-MSMail-Priority: High>>%tF%
echo X-Unsent: ^1>>%tF%
echo X-MimeOLE: Produced By DOS Batch Script>>%tF%
echo.>>%tF%
echo "%COMPUTERNAME%" SHEDULED TO REBOOT.>>%tF%
sndmsg -t -m %tF% -o %tM%
call :SDel %tF%
echo Alert message sended to support team.
set tM=
set tF=
goto :EOF

:SDel
if not exist %1 goto :EOF
del /f /a %1 2>NUL
goto :EOF
Автор: Jagstang
Дата сообщения: 21.09.2006 17:05
Добрый день.
Хотелось бы задать 2 вопроса:
1. Можно ли перенаправить вывод на консоль в переменную? То есть чтобы так
echo test || set var давал в результате var=test. Обмен через временный файл не хочется делать.
2. Как в echo вставить перенос строки и возврат каретки?

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Вернуть библиотеку АТМ (поддержка шрифтов Type 1)


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