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

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

Автор: 01MDM
Дата сообщения: 30.10.2008 05:55
vitrzn

Код:
@echo off
for /f "tokens=*" %%i in ('findstr #HOST last_rec.txt') do (
for /f "tokens=1 delims=," %%i in ("%%i") do echo %%i 1>>baselist.cfg
)
Автор: zzxx1488
Дата сообщения: 30.10.2008 14:56
день добрый
интересует какими ср-вами можно получить дефолт гейт, который на данный момент используется
дело в том что у меня помимо лана еще 3 подключения к впн и все время гейты разные, т.е. route print выдает
0.0.0.0 0.0.0.0 10.16.0.25
0.0.0.0 0.0.0.0 192.168.56.1
0.0.0.0 0.0.0.0 171.16.31.14

также затрудняет ситуацию, что винда в разных местах на разных языках, т.е. англ,рус,нем и я пытался одно время сделать батник ищущий слово default gateway в ответе route print и соотв-но потом копирующий значение, но на нем и рус виндах это не прокатило

соот-но вопрос, как можно получить текущий гейт который исп-ся на данный момент
Автор: vitrzn
Дата сообщения: 30.10.2008 15:02
01MDM

В очередной раз БОЛЬШОЕ СПАСИБО !!!

А можно ещё немного усложнить задачу ?
из такого списка возможно такая-же операция

441,1,3000.03.43.9454,RAPS002,2985,2985,2985,2985,2985,0,=HOST,30.10.2008,10.10,29.10.2008,23.10.2008,21.10.2008,30.10.2008,10.10,R,17.10.2008,"2 апелляционный суд",2985,2985,2985,2934,30.10.2008,29.10.2008,23.10.2008,21.10.2008

441,1,3000.03.43.9454,RAPS003,2658,2658,2658,2658,2658,0,#HOST,30.10.2008,10.10,29.10.2008,23.10.2008,21.10.2008,30.10.2008,10.10,R,17.10.2008,"3 апелляционный суд",2658,2658,2658,2604,30.10.2008,29.10.2008,23.10.2008,21.10.2008

441,1,3000.03.43.9454,RAPS007,1400,1400,1400,1400,1400,0,=HOST,30.10.2008,10.10,29.10.2008,23.10.2008,21.10.2008,30.10.2008,10.10,R,17.10.2008,"7 апелляционный суд",1400,1400,1400,1350,30.10.2008,29.10.2008,23.10.2008,21.10.2008

441,1,3000.03.43.9454,RAPS013,23808,23808,23808,23808,23808,0,#HOST,30.10.2008,10.10,29.10.2008,23.10.2008,18.10.2008,30.10.2008,10.10,R,17.10.2008,"13 апелляционный суд",23808,23808,23808,23550,30.10.2008,29.10.2008,23.10.2008,18.10.2008

441,1,3000.03.43.9454,RAPS014,0,0,0,0,0,0,?HOST,30.10.2008,10.10,29.10.2008,23.10.2008,10.10.2008,30.10.2008,10.10,R,17.10.2008,"14 апелляционный суд",0,0,0,0,30.10.2008,29.10.2008,23.10.2008,10.10.2008


чтобы в итоге

RAPS013
RAPS003
Автор: 01MDM
Дата сообщения: 30.10.2008 15:24
vitrzn
Можно, поменяй только одну цифру

Код:
@echo off
for /f "tokens=*" %%i in ('findstr #HOST last_rec.txt') do (
for /f "tokens=4 delims=," %%i in ("%%i") do echo %%i 1>>baselist.cfg
)
Автор: mozers
Дата сообщения: 30.10.2008 17:00
zzxx1488
Еще вариант:
Код: @echo off
FOR /F "skip=3 tokens=8" %%i IN ('tracert -d -h 1 ya.ru') DO echo %%i
Автор: ham7et
Дата сообщения: 30.10.2008 19:47
добрый день
есть один проблем:
один батник вызывает другой и передает ему в качестве параметра имена файлов( по одному).
все работает до тех пор, пока в имени очередного файла не встретится символ %.
в результате "Файл не найден".
к примеру:

1.cmd:


@echo off
for /R %%i in (*.*) do call 2.cmd "%%i"


2.cmd:

echo %1


как ето поправить ? при условии что вложеные батники -обязательны.
Автор: 01MDM
Дата сообщения: 30.10.2008 22:01
ham7et

Код:
@echo off
for /r %%i in (*.*) do set "file=%%i" && call:2
goto:eof

:2
echo %file%
Автор: Learsi1948
Дата сообщения: 31.10.2008 01:41
Сорри за повтор... Просто очень надо)) Как в батнике задать вопрос пользователю с вариантами ответа и, в зависимости от ответа выполнять один из вариантов развития?
Заранее спасибо!
П.С. Win 2003
Автор: zzxx1488
Дата сообщения: 31.10.2008 01:51
хм ни первый ни второй метод не пошли, tracert выдает не дефолтовый гейт, а видать какой то промежуточный сервер провайдера
tracert -d -h 1 ya.ru
Tracing route to ya.ru [213.180.204.8]
over a maximum of 1 hops:
1 1 ms 1 ms 1 ms 24.16.42.0
Trace complete.

команда netsh diag show gateway показывает:
Default Gateways
1. [00000001] AMD PCI-E Fast Ethernet Controller
DefaultIPGateway = 171.16.16.1 Same Subnet
3. [00589827] WAN Miniport (IP)
DefaultIPGateway = 192.168.154.1 Same Subnet
4. [00000013] Intel Wireless Connection
DefaultIPGateway = 10.xx.xx.xx Same Subnet


а мне нужен именно тот гейт который покажет route print в графе Default Gateway, на момент запуска скрипта/батника
(опять же повторюсь почему 'grep -i default gateway' не катит, потому что винды разные на немецком, английском и русском языках)

Автор: 01MDM
Дата сообщения: 31.10.2008 09:37
zzxx1488

Цитата:
а мне нужен именно тот гейт который покажет route print в графе Default Gateway, на момент запуска скрипта/батника



Код:
@echo off
for /f "tokens=2 delims=:" %%i in ('route print') do set dgway=%%i
set dgway=%dgway: =%
echo %dgway%
Автор: GRom V
Дата сообщения: 31.10.2008 10:33
подскажите ктонить воожу net share disk_c=c: > nul диск в сети появляется, но скопировать туда я ничего не могу - нет доступа
Автор: Fef
Дата сообщения: 31.10.2008 11:22
Здравствуйте.
Кто может подсказать по решению задачи?
Есть множество текстовых файлов с именем такого формата useryyyymmdd.txt
в котором строки формата ?????^????^??????^фамилия^имя^отчество
Нужно написать батник, который по дате в имени выбирает последний файл и проверяет соответствует ли содержимое шаблону ?????^????^??????^фамилия^имя^отчество
Автор: FuZZion
Дата сообщения: 31.10.2008 14:54
Хочется с помощью bat файла решить следующую задачу. Создать такой батник, чтобы запуская на машине он делал следующее:
1. узнавал имя IP-интерфейса, менял его на, допустим, LAN
2. с помощью команды netsh устанавливал адрес интерфейса, маску и шлюз.
Возможно, чтобы брал информацию из текстовика - первый IP и маску, допустим, а затем с каждым последующим запуском на других машинах уменьшал IP-адрес соответственно записям в этом текстовике... Вот так... Я застрял на том, что не могу подставить имя интерфейса в name= в комманде netsh (Приходится его только ручками вводить).
Автор: Learsi1948
Дата сообщения: 31.10.2008 23:35
Спасибо zzxx1488!! Заработало! Но возникла небольшая проблема:
в этом моменте из файла ip.txt должны передаваться айпишники и дальше прога должна их использовать
set server=192.168.%%p.1
md svedenija
for /f "eol=;" %%p in (ip.txt) do (
net use v: /delete
net use v: \\%server%\t$ /user: ¤¬Ё-Ёбва в®а ****** dir v:\ /a >> svedenija\man%%p.txt
pause
net use v: /delete)

так вот в айпишник переменная p не передается... Что не так?
Заранее спасибо!
Автор: vgiki
Дата сообщения: 31.10.2008 23:37
Помогите, люди!
Нужен батник который просто закрывает VPN соединение на компе.
Заранее благодарю=)
Автор: ShriEkeR
Дата сообщения: 31.10.2008 23:46
vgiki
rasphone -h vpn_connection_name
Автор: 01MDM
Дата сообщения: 31.10.2008 23:51
vgiki
rasdial /?

На примере соединения с названием "beeline"

Код:
rasdial beeline /disconnect
Автор: vgiki
Дата сообщения: 01.11.2008 03:35
Спасибо большое, товарищи!
Очень помогли
Автор: Learsi1948
Дата сообщения: 01.11.2008 19:23
Прошу прощенья за повтор... Очень нужна Ваша помощь!
В этом моменте из файла ip.txt должны передаваться айпишники и дальше прога должна их использовать
set server=192.168.%%p.1
md svedenija
for /f "eol=;" %%p in (ip.txt) do (
net use v: /delete
net use v: \\%server%\t$ /user: ¤¬Ё-Ёбва в®а ****** dir v:\ /a >> svedenija\man%%p.txt
pause
net use v: /delete)

так вот в айпишник (%server%) переменная p не передается... Что не так?
Заранее спасибо!
Автор: Elroir
Дата сообщения: 01.11.2008 20:15
Learsi1948

Цитата:
В обычном случае, чтобы узнать значение переменной окружения, надо воспользоваться конструкцией %переменная%. Однако, если значение переменной меняется внутри цикла и читается там же, то для корректной работы батника, нужно использовать команду setlocal enabledelayedexpansion и вместо символа "%", использовать символ "!". Иначе, значение переменной в цикле будет всегда одним и тем же - таким, каким было до входа в цикл.

Автор: vitrzn
Дата сообщения: 02.11.2008 17:56
подскажите, плиз!
есть файл usr_out.txt такого содержания:

441,5,3000.03.37.7751,REXP098,2558,2378,2373,2375,2371,0,#HOST,02.11.2008,18.45,27.10.2008,25.10.2008,21.10.2008,02.11.2008,18.45,P,0,"Чувашская Республика (приложение)",2558,2487,2471,2415,02.11.2008,27.10.2008,25.10.2008,21.10.2008

мне нужно запустить батник чтобы он взял из этого файла в той строке где #HOST вот это значение REXP098 в переменную

сам батник

for /f "tokens=*" %%i in ('findstr #HOST RECEIVE\usr_out.txt') do (
for /f "tokens=1 delims=*," %%i in ("%%i") do start /w CONS.EXE /QUEST /ADM /BASE_%%i)
Автор: Elroir
Дата сообщения: 02.11.2008 19:06
vitrzn

Код:
@echo off
for /f "tokens=4 delims=," %%a in ('findstr #HOST lines.txt') do (
start /w CONS.EXE /QUEST /ADM /BASE_%%a
)
Автор: FuZZion
Дата сообщения: 03.11.2008 09:28
Люди... Подскажите, пожалуйста, можно ли в батнике сделать так, чтобы "вынуть" название сетевого интерфейса и вставить его в переменную?(А лучше чтобы batник переименовывал сетевой интерфейс в LAN, например) И как это сделать. И ещё по поводу комманды netsh - можно ли с помощью неё (или с пом. др. комманды) не просто поменять IP адрес хоста, а добавить новый IP, маску и шлюз. Спасибо!
Автор: Iacoyn
Дата сообщения: 03.11.2008 14:25
Народ в версии для печати не нашёл, а может плохо искал?

Как изменить время модификации файла из коммандной строки?
В смысле атрибуты файла? Просто есть программы (типа Lingvo) которые проверяют дату файла.

Желательно без использования сторонних утилит.
Спасибо.


Добавлено:
FuZZion
netsh interface set interface /?
выводит такое
Использование: set interface [name = ] Имя_интерфейса
[ [admin = ] ENABLED|DISABLED
[connect = ] CONNECTED|DISCONNECTED
[newname = ] Новое_имя ]

Устанавливает параметры интерфейса.

IfName - Имя интерфейса
admin - Должен ли этот интерфейс быть разрешенным (только не в LAN).
connect - Подключен ли этот интерфейс (только не в LAN).
newname - Новое имя этого интерфейса (только LAN).

Примечания:
- Кроме текущего имени должен быть указан по крайней мере один параметр.
- Если указано connect = CONNECTED, то интерфейс будет автоматически
разрешен, даже если указано значение параметра
admin = DISABLED.
Может это то, что вам надо?

Добавлено:
Типа так
netsh interface set interface name = Network newname = "Net 1"
Автор: FuZZion
Дата сообщения: 03.11.2008 15:55
Iacoyn

Цитата:
Типа так
netsh interface set interface name = Network newname = "Net 1"

Так пишет "Интерфейс с таким именем не зарегистрирован на муршрутизаторе". Да и даже если можно будет с этой коммандой переименовать интерфейс, то для неё нужно самому вводить старое название, а оно меня не интересует. Меня интересует какое название интерфейса будет в итоге.
Автор: Iacoyn
Дата сообщения: 03.11.2008 16:35
getmac выдаёт GUID имя интерфейса
или
netsh interface show interface
показывает список интерфейсов.
В реестре в разделе
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
лежат их параметры.
Пиши что хочешь.
Автор: Learsi1948
Дата сообщения: 04.11.2008 00:20
Elroir


Цитата:
Прошу прощенья за повтор... Очень нужна Ваша помощь!
В этом моменте из файла ip.txt должны передаваться айпишники и дальше прога должна их использовать
set server=192.168.%%p.1
md svedenija
for /f "eol=;" %%p in (ip.txt) do (
net use v: /delete
net use v: \\%server%\t$ /user: ¤¬Ё-Ёбва в®а ****** dir v:\ /a >> svedenija\man%%p.txt
pause
net use v: /delete)

так вот в айпишник (%server%) переменная p не передается... Что не так?
Заранее спасибо!




Цитата:
В обычном случае, чтобы узнать значение переменной окружения, надо воспользоваться конструкцией %переменная%. Однако, если значение переменной меняется внутри цикла и читается там же, то для корректной работы батника, нужно использовать команду setlocal enabledelayedexpansion и вместо символа "%", использовать символ "!". Иначе, значение переменной в цикле будет всегда одним и тем же - таким, каким было до входа в цикл.


Проблема в том, что в цикл вообще никакая переменная не передается... Мне бы хотя бы сделать, что бы хоть что-то передавалось
Автор: Elroir
Дата сообщения: 04.11.2008 08:23
Learsi1948

Цитата:
set server=192.168.%%p.1

Откуда здесь берется переменная %%p?
Автор: Auren
Дата сообщения: 04.11.2008 11:42
Нужен батник, который бы брал текущую дату, создавал папку по этой дате (в формате дд_мм_гггг) и помещал в эту только что созданную папку все файлы и папки, находящиеся в директории, из которой этот батник запускается.
Автор: Elroir
Дата сообщения: 04.11.2008 17:26
Auren
Какой формат у системной даты (что выдает команда "echo %date%")?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172

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


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