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

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

Автор: KBJ
Дата сообщения: 17.09.2007 18:18
Maza Faka
Текстовый:

192.168.1.1 - 192.168.0.1
192.168.1.10 - 192.168.2.10
192.168.1.20 - 192.168.3.20
и т.д.

Как в переменную "IP" (при условии поиска его по маске 192.168..1.х) получить текущий IP?
Автор: Poly
Дата сообщения: 18.09.2007 00:09
Доброго времени всем!
Сразу извинюсь за возможный повтор, но ничего не нашел, а что нашел - не смог осмыслить
Есть задача бекапа файлов по маскам из определённых папок (например "Мои документы" и "Рабочий стол") с архивированием при помощи 7z (с сохранением пути в подкаталогах).
Имя архива вида - Дата_Время. В каталоге бекапа должно быть последних два архива.
Надеюсь на понимание и поддержку.
Заранее благодарю!
Автор: Elroir
Дата сообщения: 18.09.2007 01:05
Poly
Что выдает команда "echo %date%_%time%" ?
Автор: klimusu
Дата сообщения: 18.09.2007 07:45
Есть ли возможнось создавать файлы *.rdp средствами, так сказать, батничков?
Необходимы: адрес, пароль, домен, размер уд. стола, цвет. политра...
Автор: KapralBel
Дата сообщения: 18.09.2007 08:54
klimusu
Да
Это обычный текстовый файл - там все прозрачно, кроме (естественно пароля)

Но его можно заранее выбирать из некой базы образцов
Автор: Maza Faka
Дата сообщения: 18.09.2007 11:04
KBJ
Пробуй:

Код:
@Echo Off
ChCp 1251>Nul
For /F "Delims=" %%a In ('Ipconfig ^| Findstr [0-9]') Do (
Echo %%a | Find "192.168.1.">Nul && Set IP=%%a
For /F "Tokens=1* Delims=- " %%b In (IpList.txt) Do (
Echo %%a | Find "%%b">Nul && Set IP=%%c
)
)
Echo %IP%
Автор: klimusu
Дата сообщения: 18.09.2007 14:09
KapralBel
а как быть с паролями?
Автор: KapralBel
Дата сообщения: 18.09.2007 14:36
klimusu
1. Региструешься под нужным юзером, в .rdp сохраняется пароль
Извлекаешь эту строку в отдельный файл
А потом в зависимости от имени пользователя
Copy /b Default.rdp+D:\RPD\%UserName%.rdp Default.rdp

ЗЫ. Посмотрел сам файл в Юникоде, поэтому формирование его будет немного затруднительным.
Надо собирать из готовых блоков, как с паролем
либо искать консольный перекодировщик в Юникод
Автор: KBJ
Дата сообщения: 18.09.2007 19:24
Maza Faka
Не работает...
в итоге работы выводит строку "Основной шлюз . . . . . . . . . . : 192.168.1.3".

Автор: Maza Faka
Дата сообщения: 19.09.2007 06:42
KBJ
Выполни команду:

Код:
ipconfig>log.txt
Автор: perdun
Дата сообщения: 19.09.2007 08:00
Люди, чет не магу состряпать скриптец , плз, кто чем могет...
Автор: perdun
Дата сообщения: 19.09.2007 10:12
отбой, вопрос снят
Автор: mozers
Дата сообщения: 19.09.2007 10:19
Классический способ передачи параметров в пакетный файл с помощью ком.строки имеет ряд недостатков, в числе которых - невозможность передачи многострочного текста.
Но есть и другой способ - с помощью стандартного потока ввода/вывода.
Тут, главное, чтобы вызывающая пакетник программа могла сформировать такой запрос.
Мой любимый SciTE - может

Иммитирую работу SciTE с помощью простенького пакетника:
Код: @ECHO OFF
ECHO Test String|CALL test.cmd
ECHO The End
Автор: KBJ
Дата сообщения: 19.09.2007 17:28
Maza Faka

Вот:

Настройка протокола IP для Windows

Подключение по локальной сети 3 - Ethernet адаптер:

DNS-суффикс этого подключения . . :

IP-адрес . . . . . . . . . . . . : 0.0.0.0

Маска подсети . . . . . . . . . . : 0.0.0.0

Основной шлюз . . . . . . . . . . :


Сеть 1 - Ethernet адаптер:

DNS-суффикс этого подключения . . :

IP-адрес . . . . . . . . . . . . : 192.168.1.77

Маска подсети . . . . . . . . . . : 255.255.255.0

Основной шлюз . . . . . . . . . . : 192.168.1.3

Сеть 2 - Ethernet адаптер:

DNS-суффикс этого подключения . . :

IP-адрес . . . . . . . . . . . . : 10.2.6.9

Маска подсети . . . . . . . . . . : 255.255.255.0

Основной шлюз . . . . . . . . . . : 10.2.6.3
Автор: hacsoft
Дата сообщения: 19.09.2007 17:38
mozers
А если так:

Код:
set /p var=
echo %var%
Автор: mozers
Дата сообщения: 19.09.2007 21:45
hacsoft
СПАСИБО за отклик!
Работает. Но set /p воспринимает только одну строку
Наверное, я уж слишком упростил батник, иммитирующий работу SciTE. Так будет точнее:
Код: @ECHO OFF
TYPE file.txt|CALL test.cmd
ECHO The End
Автор: hacsoft
Дата сообщения: 19.09.2007 21:53
Ну а чем плох вариант передать данные через файл?
Автор: mozers
Дата сообщения: 19.09.2007 22:02
Тем, что я этот вариант - знаю и он мне видится менее рациональным чем тот же FIND "" /V или MORE
Автор: Petrik Pyatochkin
Дата сообщения: 19.09.2007 23:11
Скажите а есть какая-то прога для запуска консольных программ, которая бы выводила окно запроса на ввод параметров?



Автор: KapralBel
Дата сообщения: 20.09.2007 00:13
Petrik Pyatochkin
SET /?
SET /p
Автор: Petrik Pyatochkin
Дата сообщения: 20.09.2007 01:02
KapralBel
>Petrik Pyatochkin
>SET /?
>SET /p

Не, не работает. SET /p - Ошибка в синтаксисе команды.
Автор: Elroir
Дата сообщения: 20.09.2007 01:18
Petrik Pyatochkin

Цитата:
Не, не работает. SET /p - Ошибка в синтаксисе команды

Конечно не работает. Оно давалось в качестве наводки на то, о чем надо читать в справке команды set (set /?)
Автор: Petrik Pyatochkin
Дата сообщения: 20.09.2007 01:52
Elroir
> Конечно не работает. Оно давалось в качестве наводки на то, о чем надо читать в справке команды set (set /?)

Там про это непонятно написано
Ладно, забудьте. Я задачу уже решил.
Автор: KapralBel
Дата сообщения: 20.09.2007 06:50
Petrik Pyatochkin
и как решил, может другим поможет
Автор: Maza Faka
Дата сообщения: 20.09.2007 09:29
KBJ
Копируя батник из форума, концевые пробелы удалял?
Автор: Petrik Pyatochkin
Дата сообщения: 20.09.2007 14:27
KapralBel
>Petrik Pyatochkin
>и как решил, может другим поможет

Нашел программу. Встраивается в контекстное меню и позволяет задать параметры, указать приоритет и др. для другой программы.

NirExt v1.01 Copyright (c) 2003 - 2004 Nir Sofer http://www.nirsoft.net/
\"Advanced Run: This option is available in the context menu when you right-click on an executable file (*.EXE). It allows you to instantly run an application with command-line and some other options.\"

Или можно сделать ярлыки к консольным программам
Пример:
D:\\Programs\\System\\nirsoft\\nirext\\nirext.exe /advrun \"D:\\Programs\\System\\sysinternals\\RegJump\\regjump.exe\"

В этом случае будет открываться окно NirExt, в котором нужно будет указать параметр для консольной проги RegJump. Как по мне, то очень удобно.
Автор: KapralBel
Дата сообщения: 20.09.2007 15:05
Petrik Pyatochkin
Set /A
Более универсальное решение, позволяет использовать на любой ХР/2003, даже без установленного NirExt

ЗЫ. Кстати в шапке должна быть
Автор: Petrik Pyatochkin
Дата сообщения: 20.09.2007 15:14
KapralBel
>Set /A
>Более универсальное решение, позволяет использовать на любой ХР/2003, даже без >установленного NirExt

А можешь на пальцах показать как этим SET /A пользоваться? Потому что у меня пишет C:\\Documents and Settings\\Администратор>SET \\A
Переменная среды \\A не определена
Автор: KapralBel
Дата сообщения: 20.09.2007 15:24
Petrik Pyatochkin
Пардон, надо Set /p, параллельно работал с арифметическими действиями, поэтому и /a указал


Код: Set /P dp=Введите путь:
Echo Путь=%dp%
Автор: Grisha_Tamashi_SAN
Дата сообщения: 20.09.2007 16:20
Hi, All.
Извиняюсь если не в тот топик, но гуру здесь кульные ...

Короче есть файл autorun.inf

Цитата:
[autorun]
UseAutoPlay=1
action=Обновить базы AV&PSW
shellexecute=run_ext.bat
shell\Open(0)\command=run_ext.bat
Возможно ли сделать определённый запуск батника в скрытом режиме?
Респект.

Добавлено:
Hi,
Кстати сей код не будет работать если в имени компа есть символы "-" или "подчеркивания" (
Может как-то адаптировать?

NetView.cmd

Цитата:
@ECHO OFF
:: Выводит список компов в сети в виде Имя - Адрес - Доступные шары
FOR /F "tokens=1 delims=\ " %%n IN ('net view^|FIND "\\"') DO (
FOR /F "tokens=2 delims=[]" %%i IN ('ping -a -n 1 -w 0 %%n^|FIND "["') DO (
ECHO %%i %%n
REM ~ NET VIEW \\%%n|FIND " "
FOR /F "tokens=1,2,3,4 delims= " %%a IN ('net view \\%%n^|FIND " "') DO IF "%%b"=="Disk" (ECHO %%b: \\%%n\%%a) ELSE IF "%%b"=="Print" (ECHO %%b: \\%%n\%%a)
)
)

--
Сенькс

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879

Предыдущая тема: Problemi s zagruzkoy XP!


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