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

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

Автор: 01MDM
Дата сообщения: 19.06.2008 18:23
Collapse Troll

Цитата:
Не подскажете, можно ли перенаправить(или продублировать) вывод на консоль? Вроде в Unix это делается тривиально "file.exe > log.txt" или нечто вроде. А в Win2003 такое возможно?


Здесь тоже самое Продублировать при помощи mtee.exe (в шапке)


Цитата:
А как сделать нечто вроде лога?

Перенаправляй вывод команд в лог

file1.exe >>file.log
file2.exe >>file.log

или весь батник

file.cmd >file.log
Автор: igor_andreev
Дата сообщения: 19.06.2008 21:58
z1riser

Цитата:
Теперь усложняем задачу... 10 робокопий должны работать постоянно...Тоесть если один отработал( то остается 9) а надо, чтобы запускалась еще одна...


Код:
@echo off

rem подправь под свои нужды, я на блокноте протестировал
rem более-менее одновременно(от sleep зависит) около 10
rem экземпляров будет запущено
rem тут for /f "tokens=1 delims=\" %%a in ('net view ^| find "\\" и т.д.

for /l %%a in (1 1 200) do (
start /min notepad.exe
call :robo_count
)
goto :eof

:robo_count
set /a "count=0"
for /f %%a in ('tasklist ^| find /i "notepad.exe"') do set /a "count+=1"
if %count% lss 10 goto :eof
sleep 5
goto :robo_count
Автор: batniki
Дата сообщения: 19.06.2008 23:24
Можно ли определить, сколько MB DDR на борту, поделить полученное значение на n
и вывести... и еще узнать установлен ли directx?
Автор: alexvsm
Дата сообщения: 20.06.2008 05:02
batniki

Код: for /f "skip=1 tokens=1,2 delims= " %%i in ('wmic memlogical get totalphysicalmemory') do (
set /a pm=%%i/1024
call:rep
)
goto:eof
:rep
echo Total Physical Memory is %pm% Mb
Автор: GM07
Дата сообщения: 20.06.2008 05:36
igor_andreev

Цитата:
Вместо rasdial inet /DISCONNECT

работает! спасибо! но после запуска батника с одной строкой
rasdial inet login pass
в окне cmd крутится
....
c:\inet>rasdial /d
c:\inet>rasdial /d
c:\inet>rasdial /d
....
откуда это берется я вообще понять не могу... этой строки нет батнике!
если вручную набрать команду (или скопировать из батника) в окне cmd то все в порядке - соединение происходит...
ниче понять не могу
Автор: Elroir
Дата сообщения: 20.06.2008 11:05
GM07

Цитата:
откуда это берется я вообще понять не могу... этой строки нет батнике!

У тебя где-то лежит батник rasdial.bat или rasdial.cmd. Вот он и запускается. Попробуй запустить поиск по дискам с этими названиями.
Автор: Collapse Troll
Дата сообщения: 20.06.2008 12:23
01MDM
респект!
Автор: batniki
Дата сообщения: 20.06.2008 23:19
alexvsm, спасибо!

set /p where= :
"%tmpfolder%\7z.exe" x -r -y -o"%where%" "%tmpfolder%\*.7z"

Как сделать, чтоб распаковывались несколько видов архивов?
Автор: alexvsm
Дата сообщения: 23.06.2008 05:31
batniki

Цитата:
set /p where= :
"%tmpfolder%\7z.exe" x -r -y -o"%where%" "%tmpfolder%\*.7z"

Как сделать, чтоб распаковывались несколько видов архивов?

Если я правильно понял:
Код: set /p where= :
"%tmpfolder%\7z.exe" x -r -y -o"%where%" "%tmpfolder%\*.7z"
"%tmpfolder%\7z.exe" x -r -y -o"%where%" "%tmpfolder%\*.zip"
"%tmpfolder%\7z.exe" x -r -y -o"%where%" "%tmpfolder%\*.rar"
Автор: boss911
Дата сообщения: 23.06.2008 16:42
Помогите реализовать, если возможно, такое: нужно чтобы пакетный файл запускался с ключом командной строки, например:

Код: BatchFile.cmd /CheclCopy
Автор: Joolz
Дата сообщения: 23.06.2008 17:05
boss911
Файл запускается именно такой командой???

Код: BatchFile.cmd /CheclCopy
Автор: 01MDM
Дата сообщения: 23.06.2008 17:05
boss911



Код:
@echo off
if /i "%1" equ "/CheclCopy" (set arg=1)

....

:Repl_F
Copy /y %2 "%~dp1" 1>nul 2>&1
if ErrorLevel 1 (
Zap.exe "%1" >nul
Copy /y %2 "%~dp1" 1>nul 2>&1
if defined arg (Echo %1 >> Zap.txt)
)
Автор: boss911
Дата сообщения: 23.06.2008 18:04
Joolz и 01MDM

Нечего не получилось.

Пробовал первый и второй способ, привожу второй:

[more]
Код: if /i "%1" equ "/CheckCopy" (set arg=1)

.....

:ReplaceFiles
Set CF=%~nx1
Set SOR=TempFiles\%CF%
If Exist "%SOR%" (
Echo %1
if defined arg (Echo %1 >> CheckCopy.txt)
Call:Repl_F %1 "%SOR%"
) Else (
Echo %SOR% >> %SYSTEMDRIVE%\BackUpNotCopy.txt
)
GoTo :EOF
Автор: 01MDM
Дата сообщения: 23.06.2008 18:20
boss911

Проверь ChekCopy != CheckCopy


Цитата:
этот файл теперь вообще не создается, даже если запустить батник без ключа

Правильно, так и должно быть:

Цитата:

Данный ключ командной строки, должен включать следующую команду внутри батника


Автор: boss911
Дата сообщения: 23.06.2008 18:44
01MDM

Цитата:
Проверь ChekCopy != CheckCopy

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

Твой вариант работает, а вот вариант Joolz нет, возможно, он меня или я его недопонял. В любом случае, мега-огромное вам спасибо.
Автор: boss911
Дата сообщения: 24.06.2008 05:44

Код: For /F "UseBackQ Delims=" %%I In (`Dir ResFiles\*.txt /B /ON 2^>nul`) Do (
Echo %%~I
ResHacker\ResHacker.exe -script ResFiles\%%~nxI
)
Автор: 01MDM
Дата сообщения: 24.06.2008 09:34
boss911
Не понятно.


Цитата:
То есть, добавить некую проверку, чтобы выполняло команду для конкретного объекта (файла), а не в пустую, если в папке "TempFiles" некоторых объектов нет.


Какую команду?



Автор: SAOPP
Дата сообщения: 24.06.2008 12:40
Добрый день.

Ребят, прошу помочь, немного покопался в предыдущих 4х топиках, уверен, что вопрос был, но увы ничего не нашёл

Банальная задача, есть проводной адаптер на лаптопе, есть две разные сети, соответственно, необходимо создать два батника, для смены сетевых настроек под эти сети.

Менять необходимо следующие параметры:
ip, mask, def gateway, dns1, dns2

ОС: Vista.

Заранее благодарен за помощь.
Автор: vu1tur
Дата сообщения: 24.06.2008 13:06
SAOPP
http://forum.ru-board.com/topic.cgi?forum=62&topic=13556&start=20#9
Автор: SAOPP
Дата сообщения: 24.06.2008 14:30
vu1tur
Спасибо, немного упростил себе скриптик, теперь интересует следующее, вот мой батник для одной сети, в ней не нужен альтернативный dns, а в другой, нужен, дак вот я не пойму как их два статических dns'а указать :/


Код: [no]netsh interface ipv4 set address "Подключение по локальной сети" static 192.168.0.1 255.255.255.0 192.168.0.2 1 //это настройка ip адреса, маски и шлюза

rem netsh interface ipv4 set dnsserver "Подключение по локальной сети" static 192.168.0.3 //так можно поставить днс, основной

netsh interface ipv4 set dnsserver "Подключение по локальной сети" static address
//эта команда позволяет сделать список статических днс серверов насколько я понял, т.е. основной и альтернативный, но я не могу понять синтаксис этой команды, address=ip ip - нет, и т.д. Подскажите пожалуйста.[/no]
Автор: Kronix
Дата сообщения: 24.06.2008 15:05
Можно какой-нибудь простенький скриптик для отправки ip-адреса компьютера (в интернете) на определенный е-мейл. Заранее спасибо.
Автор: vu1tur
Дата сообщения: 24.06.2008 15:12
SAOPP
netsh interface ip set dns "Connection name" static ip1
netsh interface ip add dns "Connection name" ip2 index=2

Kronix

Цитата:
Можно какой-нибудь простенький скриптик для отправки ip-адреса компьютера (в интернете) на определенный е-мейл


ipconfig | blat - -to определённый@е-мейл
Автор: boss911
Дата сообщения: 24.06.2008 15:19
01MDM

Цитата:
Какую команду?


Цитата:
ResHacker\ResHacker.exe -script ResFiles\%%~nxI

А ресхакер тем временем с его скриптом txt обрабтывает все что лежит в "TempFiles". Вот мне и надо, чтобы команда выполнялась только для тех файлов, которые будут найдены в "TempFiles", чтобы не было холостого выполнения.
Автор: SAOPP
Дата сообщения: 24.06.2008 15:36
vu1tur
Огромное спасибо, теперь проблема решена

Один только вопрос с точки зрения технической части, верно ли выбран вообще путь решения относительно использования в данном случае (моём) netsh? Я к тому спрашиваю, может быть есть другие пути + этот может быть в чём то не идеален (хотя по моему наоборот)?

Ещё раз благодарю и заранее благодарен за ответ на поставленные вопросы
Автор: Joolz
Дата сообщения: 24.06.2008 15:41
boss911
if EXIST ResFiles\*.txt (
твой код
)
Автор: vu1tur
Дата сообщения: 24.06.2008 15:47
SAOPP
Ну это дело вкуса. На мой взгляд, netsh — решение более универсальное и надёжное. Но есть достаточное количество программ, которые делают то же самое, имеют какой-никакой GUI и прочие «прибамбасы». Вот первое что попалось в гугле — http://www.netsetman.com/
Автор: wrest
Дата сообщения: 24.06.2008 16:19
Пожалста расскажите как при помощи .bat файла можно рассортировать файлы с флешки по папкам по датам создания файлов таким хитрым образом:

c:\корень-папки-куда-класть\2008\01(January)\01-Jan-08\Файл-жепег.jpg для файлов jpeg и
c:\корень-папки-куда-класть\2008\01(January)\01-Jan-08\raw\Файл-рав.arw для файлов raw

проблема в том что в Windows стоит язык Русский а месяцы в этом случае получаются "Январь" вместо "January". Естественно, если папок нет, их надо создать.

Или: как при помощи .bat файла поменять локаль windows чтобы exiftool раскладывал с нужными именами. Applocale почему-то exiftool не лечит.
Автор: SAOPP
Дата сообщения: 24.06.2008 16:25
vu1tur
Почему я сюда пришёл... можно посмотреть в этой ветке официального форума netsetman'а

Т.е. NSM скажем так, идеальный конечно инструмент, и является таким на сегодняшний день, но вот поддержка Висты у него на очень слабеньком уровне, из-за чего есть тот недостаток, который описан мною в баг рапорте на оффоруме данного приложения.

Поэтому, пока он развивается надеюсь, буду использовать консоль а там видно будет, в любом случае спасибо ещё раз за оперативность, очень выручил.

зы Других же приложений с GUI личиком мало, и они являются своего рода комбайнами + шараварными, в отличии от них, NSM идеальный маленький инструмент, который кстати имеет своё платное расширение с дополнительными возможностями, но увы, ОС Виста с ним хромает или наоборот.
Автор: Kronix
Дата сообщения: 24.06.2008 16:36
vu1tur
что не так?
>blat -install smtp.mail.ru mail@mail.ru
Blat v2.6.2 w/GSS encryption (build : Feb 25 2007 12:06:19)

SMTP server set to smtp.mail.ru on port 25 with user mail@mail.ru, retry 1 time(s)

>ipconfig | blat - -to mail1@mail.ru
Blat v2.6.2 w/GSS encryption (build : Feb 25 2007 12:06:19)

Sending stdin.txt to mail1@mail.ru
Login name is mail@mail.ru
SMTP server error accepting message data
Автор: vu1tur
Дата сообщения: 24.06.2008 16:49
Kronix
mail.ru требует SMTP AUTH
нужно добавить «-u username -pw password»

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566

Предыдущая тема: Сброс пароля администратора


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