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

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

Автор: Nagual
Дата сообщения: 29.06.2007 16:36
Elroir
да вот случайно так выпало
ViSiToR
а если еще и амперсанд может быть?
например, компания wash & go
Автор: Maza Faka
Дата сообщения: 29.06.2007 16:47
Nagual
Так же как показал ViSiToR

Код:
Set "organization=%organization:&=^&%"
echo %organization%
Автор: Nagual
Дата сообщения: 29.06.2007 16:51
Maza Faka
это понятно, я имел в виду оба варианта
Автор: Maza Faka
Дата сообщения: 29.06.2007 16:52
Nagual

Код:
set "organization=%organization:^=^^%"
set "organization=%organization:&=^&%"
Echo %organization%
Автор: Nagual
Дата сообщения: 29.06.2007 17:00
Maza Faka
ок спс ))
Автор: GORA2
Дата сообщения: 29.06.2007 20:28
igor_andreev
Цитата:
Не проходит - понятие растяжимое.
Не проходит, значит не определяет язык установленной Windows. Т.е. если я установил "русскую" Windows, а затем в "Региональных настройках" установил язык "Английский", то буду иметь sLanguage=ENG, а Windows установлена "русская".
Задача такова: есть батник с возможностью вывода сообщений на двумя языках. Если в системе МОЖНО вывести сообщения на русском языке, то включаем вывод русских сообщений, если такой возможности НЕТ, то все сообщения нужно выводить на английском языке. Windows может быть не любая, а win2000 и выше.

Цитата:
os_lang.vbs

Код:
Set objClass = GetObject("WinMgmts:\\.\Root\CIMV2:Win32_OperatingSystem")
For Each i in objClass.Instances_
Wscript.Echo i.CodeSet & Chr(32) & i.OSLanguage
Next


и

Код:
cscript os_lang.vbs


выдает в русской XP: 1251 1049
в английской: 1251 1033
Первая цифра - установленная кодовая страница, вторая - язык операционки

Но это не батник, а скрипт или я ошибаюсь!? Мне нужно результат проверки вернуть в батник для принятия решения, о языке выводимых сообщений!
Вроде все изложил подробно. Если можно, объясните мне так же подробно, как, если можно, проверить и использовать в батнике результат проверки описанной мной ситуации.
Заранее благодарен за любую помощь!
Автор: igor_andreev
Дата сообщения: 30.06.2007 08:47
GORA2

Цитата:
Если в системе МОЖНО вывести сообщения на русском языке, то включаем вывод русских сообщений, если такой возможности НЕТ, то все сообщения нужно выводить на английском языке.

Это от кодовой страницы лучше и плясать, а не от языка установленной ОС. Windows может быть установлена английская, китайская, немецкая и т.д. - а работает за ней русскоязычный пользователь, кодовая страница задана 1251 и батник МОЖЕТ по-русски выводить сообщения.

Цитата:
Но это не батник, а скрипт или я ошибаюсь!? Мне нужно результат проверки вернуть в батник для принятия решения, о языке выводимых сообщений!

Ну нет в системе встроенной консольной os_lang.exe, чтоб в батнике использовать. Значит надо ее(команду os_lang) соорудить из подручных материалов Так понятней будет?:

Код:
@echo off

> @.vbs echo Set obj=GetObject("WinMgmts:\\.\Root\CIMV2:Win32_OperatingSystem")
>>@.vbs echo For Each i in obj.Instances_
>>@.vbs echo Wscript.Echo i.CodeSet ^& Chr(32) ^& i.OSLanguage
>>@.vbs echo Next

for /f "tokens=1,2" %%a in ('cscript @.vbs') do (set a=%%a&set b=%%b)
del @.vbs

echo OS CodePage: %a%
echo OS Language: %b%
Автор: GORA2
Дата сообщения: 30.06.2007 08:58
igor_andreev
Вас понял. Спасибо. Буду пробовать.
Автор: Maza Faka
Дата сообщения: 30.06.2007 09:28
GORA2
Можно и так:

Код:
@echo off
for /f "tokens=3" %%a in (
'reg query "HKLM\SYSTEM\CurrentControlSet\Control\NLS\CodePage" ^| ^
find "1251" ^| find "nls"') do set Lang=%%a
if defined Lang echo Language is Russian
Автор: RwR
Дата сообщения: 02.07.2007 21:34
Как с помощью cmdow.exe запустить приложение в скрытом виде? Почему-то не получается, хотя вроде всё правильно делаю.
Автор: ViSiToR
Дата сообщения: 02.07.2007 21:43
RwR

Цитата:
Как с помощью cmdow.exe запустить приложение в скрытом виде?

Из страницы утилиты:


Цитата:
Run a program hidden:-

Код: cmdow /run /hid myprog.exe
Автор: RwR
Дата сообщения: 02.07.2007 22:04
Я ж сказал, так не получается.
Автор: ViSiToR
Дата сообщения: 02.07.2007 22:09
RwR
Расскажи подробнее что тебе нуджно достичь...

Потому что с этого:


Цитата:
Как с помощью cmdow.exe запустить приложение в скрытом виде?


я могу понять только одно:

"Как запустить приложение в скрытом виде"...

если оно не запускается в скрытом виде, тогда вместо того чтобы писать “Я ж сказал, так не получается.”, написал бы то как оно запускается, что не получается и т.д, у меня лично получается
Автор: Elroir
Дата сообщения: 02.07.2007 22:12
RwR
Значит проблема в самом приложении. Notepad, например, очень спокойно запускается в скрытом виде именно такой командой.
Автор: RwR
Дата сообщения: 03.07.2007 10:07
Ну опиши тогда как ты запускаешь notepad. У меня просто не получается. Прога запускается так, как обычно.
Автор: wolf0425
Дата сообщения: 03.07.2007 10:14
кстати, а средствами XP совсем нельзя запустить батник "невидимым" (лучше бы конечно себя скрыть, но можно и новый породить) ?
В смысле - под текущим пользователем и без прав администратора, т.е. шедулер не предлагать.

потому как cmdow мой корпоративный фаервол приравнял к вирусам...
Автор: Elroir
Дата сообщения: 03.07.2007 10:57
RwR

Код: cmdow /run /hid notepad.exe
Автор: NIKZZZZ
Дата сообщения: 03.07.2007 14:12
А почему все уперлись в cmdow ? HideRun (1.5 Kb) вполне решает проблему.
Автор: by Dim
Дата сообщения: 03.07.2007 15:14
уважаемые, не подскажете текст батника по отключению/включению "Local Area Connection"? Вариант с Cnic'ом не очень катит..
Автор: 01MDM
Дата сообщения: 03.07.2007 15:40
by Dim


Цитата:
Вариант с Cnic'ом не очень катит..


А в чем проблема?


Код:
@ECHO OFF

if %1==/u goto:up
if %1==/d goto:down
if %1==/r goto:reload

:up
:: Включение
cnic название_сетевого_интерфейса -c > nul
goto:eof

own
:: Выключение
cnic название_сетевого_интерфейса -d > nul
goto:eof

:reload
:: Перезапуск
cnic название_сетевого_интерфейса -d > nul
cnic название_сетевого_интерфейса -c > nul

Автор: Elroir
Дата сообщения: 03.07.2007 15:43
by Dim
Все равно без сторонних утилит не получится. Если не нравится или по каким-то причинам невозможно использовать cnic - есть утилита devcon от Microsoft. Но с ней гораздо сложнее.
Автор: by Dim
Дата сообщения: 03.07.2007 15:50

Цитата:
Цитата:Вариант с Cnic'ом не очень катит..


А в чем проблема?


неумным пользователям придется долго объяснять необходимость в нем..
а когда их много..


Цитата:
Все равно без сторонних утилит не получится

надеялся что все таки есть какое елегантное решение ну чтож нет так нет. Спасибо.
Автор: igor_andreev
Дата сообщения: 03.07.2007 17:33

Цитата:
неумным пользователям придется долго объяснять необходимость в нем..
а когда их много..

А когда их много, умные админы без всяких обьяснений, никого не спрашивая, кладут cnic всем в PATH и настраивают все так, чтобы работало от одного клика мышки или вообще без участия пользователя.[тут смайлик]
Автор: RwR
Дата сообщения: 03.07.2007 20:27
Капэц... Ни cmdow, ни HideRun не могут скрыть эту хрень!!! КАК ТАКОЕ ВОЗМОЖНО?!!! Даже через JS не скрывается!!!!!!

Добавлено:
Только AutoIt скрывает и всё!!! И то, еле как! Подскажите, а.
Автор: Elroir
Дата сообщения: 03.07.2007 21:34
RwR
Ты бы хоть написал, что именно пытаешься скрыть...
Мы же не телепаты
Автор: NIKZZZZ
Дата сообщения: 03.07.2007 22:08
RwR

Цитата:
Ни cmdow, ни HideRun не могут скрыть эту хрень!!!

А nircmd не пробовал ?
Автор: RwR
Дата сообщения: 03.07.2007 22:37
Не пробовал, агде скачать?

Добавлено:
Скачал. А как с его помощью скрыть приложение?

Добавлено:
Попробовал так:

Код: nircmd.exe exec hide "file.exe"
Автор: NIKZZZZ
Дата сообщения: 03.07.2007 22:54
RwR

Цитата:
Не скрывает.

Вообще-то нужно запускать nircmdс.exe , сам nircmd.exe это самораспаковывающийся архив.
nircmdc.exe exec hide "file.exe" у меня нормально работает. А чем Autoit не нравится?
Автор: RwR
Дата сообщения: 03.07.2007 23:00

Код: nircmdc.exe exec hide "file.exe"
Автор: NIKZZZZ
Дата сообщения: 03.07.2007 23:06

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

Не совсем понятно.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

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


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