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

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

Автор: RwR
Дата сообщения: 03.07.2007 23:09
Например: имеем окно с именем "Вася". Скрываем его. Через пару секунд имя окна меняется на "Петя", и его по новой нужно скрывать.
Автор: ViSiToR
Дата сообщения: 03.07.2007 23:18
RwR

Цитата:
неправильно что-то сделал?

Да...

1. Ты не пишешь что конкретно пытаешься скрыть?
2. Что в твоём понимании запуск приложении в скрытом виде?

Присоеденяюсь к вопросу: «А чем Autoit не нравится?»

Добавлено:
RwR

Цитата:
и его по новой нужно скрывать.

Ты уже пишешь о скрытии окон, и как это связанно со скрытием запускаемых приложении?

Cmdow если я не ошибаюсь, “умеет скрывать” окна по их классу, класс окна можно узнать например, используя утилиту WinSpy.

Добавлено:
P.S
На AutoIt это проще простого, есть функция (самодельная) для получения заголовка окна основываясь на пути к приложению обладающему это самое окно.
Автор: NIKZZZZ
Дата сообщения: 03.07.2007 23:41
ViSiToR
Немного не по теме
Цитата:
есть функция (самодельная) для получения заголовка окна основываясь на пути к приложению

Где можно посмотреть?

Автор: RwR
Дата сообщения: 03.07.2007 23:59
Я не думаю, что вообще, что либо способно скрыть это прил-е кроме AutoIt. А насчёт самодельной функции, действительно, где можно посмотреть?
Автор: ViSiToR
Дата сообщения: 04.07.2007 01:07
NIKZZZZ
RwR

Цитата:
Где можно посмотреть?

Тут (Топик по AutoIt тут).
Автор: Yuki2003
Дата сообщения: 04.07.2007 11:32
В шапке в "полезных утилитах" для поиска и замены в тексте есть sbs2.com
Возможно ли с его помощью находить кавычки? Экранирование не помогло

Добавлено:
И еще - нет ли готового скрипта, "экранирующего" текст (кавычки, двоеточия и т.п.), чтобы его после этого корректно "понимал" для поиска и замены тот же gsar.exe?
Автор: Elroir
Дата сообщения: 04.07.2007 12:11
Yuki2003
Для замены кавычек с помощью sbs2, используй шестнадцатиричное значение символа "кавычки":

Код: sbs2.com 0 "$22" "QUOTE" < file_with_quotes.txt > without_quotes.txt
Автор: Yuki2003
Дата сообщения: 04.07.2007 12:20

Цитата:
Elroir
Здесь такой не пробегал, но можешь сделать сам с помощью sbs2.

Ок, а где можно взять самый полный список символов, которые надо экранировать? К тому же, как я понял. разные символы экранируются разными способами?
Автор: igor_andreev
Дата сообщения: 04.07.2007 12:23

Цитата:
"экранирующего" текст (кавычки, двоеточия и т.п.), чтобы его после этого корректно "понимал" для поиска и замены тот же gsar.exe?

перед кавычками ставь обратный слеш, двоеточие необходимо удваивать.
Автор: Yuki2003
Дата сообщения: 04.07.2007 12:28

Цитата:
igor_andreev
перед кавычками ставь обратный слеш, двоеточие необходимо удваивать.

sbs2 этого не понимает...

Вот тут прочел:

Цитата:
В командном языке Windows существует некоторый набор символов с высоким приоритетом, которые всегда трактуются как спецсимволы. К ним, в частности, относятся:

Нужен весь "список", а не только "в частности", чтобы быть на 100% уверенным в работе скрипта.
Автор: Elroir
Дата сообщения: 04.07.2007 12:32
Yuki2003

Цитата:
а где можно взять самый полный список символов, которые надо экранировать?

Это очень просто выяснить. Создай текстовый файл со всеми возможными символами с клавиатуры и попробуй заменить каждый. Те, которые не заменяться и есть искомые символы.
Автор: Yuki2003
Дата сообщения: 04.07.2007 12:34

Цитата:
Elroir
Это очень просто выяснить. Создай текстовый файл со всеми возможными символами с клавиатуры и попробуй заменить каждый. Те, которые не заменяться и есть искомые символы.

Не совсем, речь о символах, которые с клавиатуры не ввести - то есть о всех. Можно какой-нибудь бинарник взять, но тоже нет гарантии что в нем будут использованы все.
Автор: Elroir
Дата сообщения: 04.07.2007 12:38
Yuki2003
Берешь таблицу ASCII и перебираешь все символы
Автор: igor_andreev
Дата сообщения: 04.07.2007 12:39

Цитата:
sbs2 этого не понимает...

Я отвечал на вопрос о gsar.exe
Автор: Yuki2003
Дата сообщения: 04.07.2007 13:34
а как вывести ascii символ?

Код: FOR /L %%a IN (0,1,255) DO echo \0x%%a
Автор: Maza Faka
Дата сообщения: 04.07.2007 13:40
Yuki2003

Цитата:
нет ли готового скрипта, "экранирующего" текст (кавычки, двоеточия и т.п.), чтобы его после этого корректно "понимал" для поиска и замены тот же gsar.exe?

GSAR и так корректно обрабатывает кавычки:

Код:
gsar -s""" -r"-" -f input.txt output.txt
Автор: JohnRD
Дата сообщения: 04.07.2007 15:05
добрый день

напомните пожалуйста как добавить в реестр через
regedit /s
чтобы %username% брал из set

[HKEY_CURRENT_USER\Software\.....]
"CatalogueFilesMru"="C:\\Documents and Settings\\%username%\\Local Settings\\..."

так - в реестр он вписывает прямо как есть..

спасибо


Автор: KapralBel
Дата сообщения: 04.07.2007 15:19
JohnRD

Код: @Echo Off
Echo [HKEY_CURRENT_USER\Software\.....] >Temp.reg
Echo "CatalogueFilesMru"="C:\\Documents and Settings\\%username%\\Local Settings\\..." >>Temp.Reg
RegEdit /S Temp.Reg
Del Temp.Reg /q
Автор: 01MDM
Дата сообщения: 04.07.2007 16:25
А если просто будет записано %username% или %userprofile%, то эти ключи не будут обрабатываться в соответствии со значениями переменных?

Добавлено:
Не правильно понял что надо
Автор: JohnRD
Дата сообщения: 04.07.2007 16:59
KapralBel

спасибо

как можно переделать файл 1.reg в файл 1.cmd c командами reg add ?
или экспортом уже из реестра
кроме как руками
Автор: Maza Faka
Дата сообщения: 04.07.2007 17:44
JohnRD

Код:
@echo off
regedit /ea "c:\myreg.reg" "HKEY_LOCAL_MACHINE\SOFTWARE\MyProgram"
Автор: Elroir
Дата сообщения: 04.07.2007 17:57
JohnRD

Цитата:
как можно переделать файл 1.reg в файл 1.cmd c командами reg add ?
или экспортом уже из реестра

Кроме как руками - никак. Либо надо прогу специально для этого писать.
Я не встречал утилиту, делающую что-либо подобное.

Добавлено:
Yuki2003

Цитата:
а как вывести ascii символ?
Код:FOR /L %%a IN (0,1,255) DO echo \0x%%a
что надо вместо \0x ?

Не знаю, возможно ли это. Первые 32 символа ASCII - управляющие символы, которые не предназначены для "показа".
На самом деле я не понимаю, зачем с ними что-то делать. Проблемные символы - это те которые могут быть введены с клавиатуры, но по каким-то причинам (зависит от программы) воспринимаются программой как спец-символы. К таким символам относятся все знаки препинания, верхний регистр "цифровой" строки на клавиатуре, <, >, |, \, /. Может еще и скобки разные.

Добавлено:
По этой ссылке находится таблица всех "видимых" символов.
Автор: NIKZZZZ
Дата сообщения: 04.07.2007 19:48

Цитата:
а как вывести ascii символ?


Можно использовать sbs2
Пример - вывод кода tab (0х9)

Код: echo.|sbs2.com 0 "$0d$0a" "$09"
Автор: igor_andreev
Дата сообщения: 04.07.2007 20:12

Цитата:
а как вывести ascii символ?
Код:FOR /L %%a IN (0,1,255) DO echo \0x%%a
что надо вместо \0x ?


Код:
@echo off
>tmp.vbs echo wscript.stdout.writeline chr(wscript.arguments(0))
for /l %%a in (1 1 255) do cscript //Nologo tmp.vbs %%a
del tmp.vbs
Автор: sergst1
Дата сообщения: 05.07.2007 11:55
call rasdial int 1 1
call ftp -s:ftpInput.txt -i 171.24.165.223
call rasdial /DISCONNECT

Это батник для связи с FTp
Подскажите пожалуйста как сделать, чтобы команда
call rasdial int 1 1
при ошибке опять набирала номер, а если всё гуд то
call ftp -s:ftpInput.txt -i 171.24.165.223
у меня чёто неполучается
Автор: KapralBel
Дата сообщения: 05.07.2007 12:34
sergst1

Код: @Echo Off
Set CountDialUp=1
:Begin
Now Count: %CountDialUp%
Title [%CountDialUp%/80] Дозвонка в Интернет
RasDial "Имя соединения" логин пароль
If Not ErrorLevel 1 GoTo :EOF
Echo Код завершения:%ErrorLevel%
Set /a CountDialUp=CountDialUp+1
If "%CountDialUp%" == "81" GoTo :EOF
GoTo Begin
Автор: garniv
Дата сообщения: 05.07.2007 22:48
Подскажите, почему не работает такое присвоение:
set gateway=ipconfig | find /i "212"
Автор: Elroir
Дата сообщения: 05.07.2007 22:54
garniv
Не работает - потому что неправильная команда.
Надо так:

Код:
for /f "tokens=*" %%a in ('ipconfig ^| find /i "212"') do set "gateway=%%a"
Автор: ViSiToR
Дата сообщения: 05.07.2007 22:55
garniv

Цитата:
почему не работает такое присвоение

Потому что присутствует разделитель | (эта строка обрабатывается как две команды, одна до этого разделителя, а другая после)... попробуй заключить в кавычки всю строку:



Код: set gateway="ipconfig | find /i "212""
Автор: Elroir
Дата сообщения: 05.07.2007 23:04
garniv
Я неправильно понял вопрос .
Конечно же, ответом является то, что написал ViSiToR.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

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


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