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

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

Автор: Maza Faka
Дата сообщения: 26.03.2007 07:57
Elroir

Цитата:
@echo off
setlocal enabledelayedexpansion
for %%a in (c:\test\*.zip) do set "string=!string!, %%~nxa"
echo !string:~2!>list.txt


Классное решение! Я тоже пытался решить при помощи переменной, но у меня в переменной всегда имя последнего архива было... Вот интересно в третьей строчке ты задаёшь переменной "string" значение "!string!" почему при выводе эта строка не вписывается в текстовый файл? Вроде как: !string!, myzip.zip...
Автор: Elroir
Дата сообщения: 26.03.2007 08:55
Maza Faka

Цитата:
Вот интересно в третьей строчке ты задаёшь переменной "string" значение "!string!" почему при выводе эта строка не вписывается в текстовый файл?

Потому, что вместо !string! в процессе работы батника, подставляется значение переменной string, а оно при каждой итерации меняется (в первый раз там пусто, во второй туда уже добавлено название первого zip файла и т.д.).
Автор: Tipulatoid
Дата сообщения: 26.03.2007 09:04
All
Прошу прощения за жестокий оффтоп, просто сия ветка мне как родная Не подскажете как грамотно утянуть Flash-ролик с сайта, чтоб потом можно записать на CD и проигрывать где хошь? Конкретно интересует вот этот сайт http://www.stxship.co.kr/english/main.aspx тот ролик, что загружается по нажатию на "Cyber Yard Tour"
PS Это ОЧЕНЬ важно и срочно для меня, иначе бы не рискнул здесь оффтопить.
Автор: Smitis
Дата сообщения: 26.03.2007 09:39
Tipulatoid

Цитата:
Не подскажете как грамотно утянуть Flash-ролик с сайта, чтоб потом можно записать на CD и проигрывать где хошь?

Неграмотно: Очистить кэш IE. Просмотреть ролик. Покопаться в кеше IE на предмет наличия *.swf. Конвертнуть ролик в exe (прог навалом, воспользуйся поиском).
А "грамотно" - поставить какое-нибудь расширение для IE для "утягивания" роликов.
Автор: igor_andreev
Дата сообщения: 26.03.2007 11:24
Tipulatoid
Если совсем грамотно - на странице нажимаешь правой кнопкой мыши на View Source(Просмотр HTML-кода), откроется твой текстовой редактор(блокнот обычно), нажимаешь Ctrl+F и ищешь ссылку на файл с расширением .swf Он там открытым текстом написан. Тебя этот интересует? http://www.stxship.co.kr/stx_multi/main_eng.swf (954081 байт)
Автор: Tipulatoid
Дата сообщения: 26.03.2007 12:16
Smitis
igor_andreev
Там так организовано, что main_eng.swf - это только интерфейс. Сами ролики по этапам строительства судна выполнены в виде отдельных swf и загружаются по клику на интерфейсе. Они вроде как в кэше лежат, но чего-то IE и Opera их не играет. Буду искать, мож какая другая прога откроет.
Автор: igor_andreev
Дата сообщения: 26.03.2007 12:48
Tipulatoid

Цитата:
Они вроде как в кэше лежат, но чего-то IE и Opera их не играет.

Ссылки на них, скорее всего жестко прописаны в main_eng.swf в виде http://www..., так что, может и не заработать на локальном компе, только онлайн.
P.S. Ты злостный оффтопер Спрашивай, если что, в теме про IE или максимально близкой.

Автор: Nagual
Дата сообщения: 26.03.2007 15:18
Elroir

Цитата:
Это смотря, что ты делаешь в этих for-ах. По-моему нельзя.

ну мне всего навсего надо получить имя родительского каталога и системную дату.
Как думаешь? Реально в одну строку уложиться?

Автор: Elroir
Дата сообщения: 26.03.2007 16:47
Nagual

Цитата:
всего навсего надо получить имя родительского каталога и системную дату

Проблема тут именно с родительским каталогом - у меня не получается его достать в одной строке - нужен батник (минимум 2 строки).

Код:
cd..
for /f "delims=/" %%a in ("%cd%") do echo %%~nxa_%date%
Автор: Nagual
Дата сообщения: 26.03.2007 17:13
Elroir
cd.. &for /f "delims=/" %%a in ("%cd%") do echo %%~nxa_%date%
все пашет, ринулся докручивать 7z
огромный спс ты чудо
Автор: Elroir
Дата сообщения: 26.03.2007 21:32
Nagual
Пожалуйста
Только у меня из командной строки в таком виде выдается не родительский, а текущий каталог. Родительский выдается если запускаю так:

Код:
cmd /c cd.. &for /f "delims=/" %%a in ("%cd%") do echo %%~nxa_%date%
Автор: Jeka Str
Дата сообщения: 27.03.2007 10:40
Всем доброго дня. Возникла следующая задачка:
Нужно по шедуллеру изменять каждые час например ip адрес на виндовом компе. Допустим для этой цели выделено два ip 192.168.0.1 и 192.168.0.2. Ни как не могу реализовать это с помощью батника. Гуру подскажите как это сделать? Уперся в то что не знаю как передать bat файлу текущий ip, для того чтобы подставить отличный от ip текущего.
Автор: KapralBel
Дата сообщения: 27.03.2007 10:57
Jeka Str
IPConfig /?
Автор: Jeka Str
Дата сообщения: 27.03.2007 11:11
Ладно попробую сформулировать вопрос по другому. Как передать бат файлу результат вывода команда ipconfig или леучше netsh interface ip show ipaddress | find "192.168.0" в качестве параметра?
Автор: KapralBel
Дата сообщения: 27.03.2007 11:44
Jeka Str
netsh interface ip show ipaddress >File.txt
For /F ...
Автор: NIKZZZZ
Дата сообщения: 27.03.2007 12:06
Jeka Str

For /F "usebackq delims=" %%i in (`netsh interface ip show ipaddress`) do ...

Но вот как добавить " | find " я не представляю, проще проанализировать %%i.
Автор: KapralBel
Дата сообщения: 27.03.2007 12:15
NIKZZZZ
Сбросить в файл
netsh interface ip show ipaddress | find "192.168.0" >File.txt
А потом анализировать оный
Автор: NIKZZZZ
Дата сообщения: 27.03.2007 12:22
KapralBel

Цитата:
Сбросить в файл

Это просто, а вот как не мусорить? Должно же быть какое-то решение. Можно, например, написать второй батник, но это как-то некрасиво.

Автор: Jeka Str
Дата сообщения: 27.03.2007 12:37
Вывод команды в файл я перенаправлял. В надежде что потом смогу что нить с текстовиком сделать. Но то как не спец в cmd не смог. Перекопал пол инета, но не нашел оператора который работает со строками и символами. А может еще подскажете как батником выдернуть из текстового файла только ip?

З.Ы. Качаю юниксовый шел под винду (SFU). Если это то что обещает мелкософт то напишу скрипт на нем.
Автор: NIKZZZZ
Дата сообщения: 27.03.2007 12:42
Jeka Str

Приведи лог. netsh interface ip show ipaddress


Автор: KapralBel
Дата сообщения: 27.03.2007 13:02
NIKZZZZ

Цитата:
Это просто, а вот как не мусорить?

А удалить файл после обработки?

Jeka Str

Код: @Echo Off
Set IP=192.168.0.0
ipconfig | find "192.168.0" >Temp.tmp
CHCP 1251
For /F "tokens=1-2 delims=:" %%a in (Temp.tmp) Do Call :ip "%%a" %%b
Echo IP=%IP%
Del Temp.tmp /q
GoTo :EOF

:ip
IF /I " IP-адрес . . . . . . . . . . . . " == %1 Set ip=%2
GoTO :EOF
Автор: NIKZZZZ
Дата сообщения: 27.03.2007 13:35
KapralBel
Jeka Str

Тогда зачем Temp.tmp ?


Код:
@Echo Off
CHCP 1251 > nul

For /F "tokens=1-2 delims=:" %%a in ('ipconfig') Do Call :ip "%%a" %%b
Echo IP=%IP%
GoTo :EOF

:ip
IF /I " IP-адрес . . . . . . . . . . . . " == %1 Set ip=%2
GoTO :EOF
Автор: KapralBel
Дата сообщения: 27.03.2007 13:39
NIKZZZZ
А случай когда 2 и более соединений?
Автор: NIKZZZZ
Дата сообщения: 27.03.2007 13:44
KapralBel

Цитата:
А случай когда 2 и более соединений?

С помощью if найти нужное.

Автор: KapralBel
Дата сообщения: 27.03.2007 13:48
NIKZZZZ
Через фильтрацию более изящное решение
Автор: NIKZZZZ
Дата сообщения: 27.03.2007 13:51
KapralBel

Цитата:
Через фильтрацию более изящное решение

Может быть, мне просто не нравится сама идея передачи данных через файл.


Автор: Maza Faka
Дата сообщения: 27.03.2007 15:06
Jeka Str
NIKZZZZ


Код:
@Echo off
For /F "Skip=7 Tokens=1* Delims=" %%a in ('Ipconfig') do (
For /F "Delims=: Tokens=1,2" %%k in ("%%a") do (
If "%%l"==" 192.168.0.1" (
Set "OldIp=%%l"
)
)
)
Echo %OldIp%
Автор: 5ar5
Дата сообщения: 27.03.2007 15:31
Есть ли способ запустить службу RemoteAccess с командной строки, если текущее значение параметра "Тип запуска" - Отключено; "Состояние" - ""?
Пробовал сделать следующие:

reg add HKLM\System\CurrentControlSet\Services\RemoteAccess /v Start /t REG_DWORD /d 0x00000002

sc start RemoteAccess

После выполнения первой команды параметр "Тип запуска" меняется с состояния "Отключено" на "Авто" в Службах и приложениях.
В результате выполнения последней команды получаю сообщение: [SC] StartService FAILED 1058:

Если меняю значение параметра "Тип запуска" руками в Службах и приложениях с "Отключено" на "Авто", а потом в командной строке выполняю команду - sc start RemoteAccess, то служба запускается нормально.
Автор: KapralBel
Дата сообщения: 27.03.2007 15:39
5ar5
Попробуй сделать задержку на 3-4 секунда
есть подозрение что до винды еще не дошло что разрешен запуск службы
Автор: Jeka Str
Дата сообщения: 27.03.2007 15:44
Вот монстры! Спасибо всем сделал по первому примеру добавил несколько if (меняю между 4 адресами) c метками тоже прикольно.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Сбой активации XP sp2


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