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

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

Автор: wolf0425
Дата сообщения: 12.08.2009 09:04

Цитата:
есть файлы с именем EJxxxx, необходимо изменить имена на ELxxxx, и к измененному имени добавить текущую дату.

для файлов с именами без расширения - это делается в одну команду,
ren EJ* EL*%date%

с расширением - правишь первый вариснт 01MDM


Код: @echo off
setlocal
for /f "tokens=*" %%i in ('dir /b EJ*') do call:rename "%%i"
goto:eof

:rename
set "name=%~n1"
set name
ren %1 "%name:EJ=EL%%date%%~x1"
Автор: HaK1R
Дата сообщения: 12.08.2009 10:55
смотрите что нашел
"%userprofile%\0016~1" - это папка "Рабочий стол"
Автор: wolf0425
Дата сообщения: 12.08.2009 11:13

Цитата:
"%userprofile%\0016~1" - это папка "Рабочий стол"
У тебя на компе - возможно, хотя и странновато
Автор: spilanto
Дата сообщения: 12.08.2009 14:40
Господа, разбирающиеся, помогите... есть задача: пинговать оределенные адреса маршрутизаторов D-link 804HV (192.168.1.x, 192.168.2.x и т.д.) в случае не отклика запустить ребут... по средствам http://192.168.1.x/x.htm

реальна ли реализация этого с помощью батника, если да прошу: направить на путь истинный и показать как это выглядит.

заранее благодарен, с уважением...
Автор: HaK1R
Дата сообщения: 12.08.2009 16:49
wolf0425
У тебя не катит?
Я когда себе турбо С ставил увидел что он у меня так отображает рабочий стол

Добавлено:
spilanto

Цитата:
192.168.1.x, 192.168.2.x и т.д.

x-значит произвольное число? т.е. нужно все такие адруса пропинговать 192.168.Х.Х ?
запустить ребут чего? + по каким средствам? что надо ссделать с http://192.168.1.x/x.htm ?
Автор: spilanto
Дата сообщения: 12.08.2009 17:08
есть маршрутизатор D-link c ip - 192.168.1.1 он переодически теряет VPN тонель, помогает только ребут через его веб интерфейс. в адресной строке браузера это выглядит следующим образом http://admin:1234@192.168.1.1/x.htm

в айпи - х - произвольное число.

верное пропинговать нужно 192.168.х.х

запустить ребут маршрутизатора по средствам браузера в адресной строке которого должно быть - http://admin:1234@192.168.1.1/x.htm
Автор: YTs Jeam
Дата сообщения: 12.08.2009 18:24
Помогите советом, мне необходимо, чтобы bat файл закрывал нужное приложение, если оно запущено. В итоге написал код:
Taskkill /F /IM Program.exe

А как теперь прописать, чтобы bat ничего не делал, если такого приложение в task manager нету, другими словами просто закрывался.
Автор: wolf0425
Дата сообщения: 12.08.2009 19:05

Цитата:
А как теперь прописать, чтобы bat ничего не делал, если такого приложение в task manager нету, другими словами просто закрывался.
вообще-то если Program.exe не запущен - твой вариант и так ничего кроме сообщения об отсутствии Program.exe не делает.
но если хочешь проверить заранее, или проверить одну программу а закрыть другую - то че-то типа такого:

Код: tasklist | find /i "Program.exe" && echo Program.exe is working
Автор: Robby
Дата сообщения: 12.08.2009 19:07

Цитата:
Помогите советом, мне необходимо, чтобы bat файл закрывал нужное приложение, если оно запущено. В итоге написал код:
Taskkill /F /IM Program.exe



Код: tasklist | find /i "Program.exe" && Taskkill /F /IM "Program.exe"
Автор: YTs Jeam
Дата сообщения: 12.08.2009 19:40
wolf0425
Robby
спасибо
Автор: 01MDM
Дата сообщения: 12.08.2009 21:51
HaK1R

Цитата:
смотрите что нашел
"%userprofile%\0016~1" - это папка "Рабочий стол"

Вполне нормальное отображение в command.com. Раскладка переключается?
Автор: HaK1R
Дата сообщения: 12.08.2009 23:24
01MDM
неа
Автор: 01MDM
Дата сообщения: 13.08.2009 09:13
HaK1R

Код:
echo NTCMDPROMPT 1>>%systemroot%\system32\config.nt
shutdown /r /t 0
Автор: Shadow4
Дата сообщения: 13.08.2009 10:21
Есть проблема - нужен батник на перезагрузку компьютера, при зависании службы или ошибке службы, или незапущенной службе..............

Заранее огромной спасибо!!!!!!!!!!!!!!
Автор: fargo44
Дата сообщения: 14.08.2009 09:06
Добрый день! Прошу помощи.

Как сделать жизнеспособным такой батник (написал скорее в логическом виде нежели практическом):


Код: @echo off

rem Задаем время, когда компьютер должен выключиться
set NeedTime=18:00

rem Получаем текущее системное время
set CurTime=%TIME%

rem Вычисляем сколько от текущего момента осталось секунд до заданного момента
set /a RESULT=NeedTime - CurTime

rem Выключаем компьютер после отсчета заданного интервала
shutdown -s -f -t %RESULT%

exit
Автор: anachrom
Дата сообщения: 14.08.2009 09:13
Shadow4
Ну перезагрузить shutdown -r Если нужно завершать с коментом то добавь параметр -с "комментарий" а вот остальное.
Вот нашел кое что, вроде даже посты уважаемого 01MDM.

Код:
@echo off

for /f "tokens=4" %%i in ('sc query ServiceName ^| findstr /i "state"') do (
set checksrv=%%i
)
if %checksrv%=="running" (
:: Код если служба запущена:
echo ServiceName %checksrv%
) else (
:: Код если служба остановлена:
echo ServiceName %checksrv%
)
Автор: 01MDM
Дата сообщения: 14.08.2009 10:06
anachrom
Да, это мой батник, правда уже прошло..

Цитата:
Но почему то в условии выбирается else.


Просто к условию if %checkserv% надо добавить ключ /i или писать "RUNNING" На примере сервиса "Themes":

Код:
@echo off
setlocal

for /f "tokens=4" %%i in ('sc query themes ^| findstr /i "state"') do (
set "checksrv=%%i"
)

if /i "%checksrv%"=="running" (
:: Код если служба запущена:
echo themes %checksrv%
) else (
:: Код если служба остановлена:
echo themes %checksrv%
)
Автор: fargo44
Дата сообщения: 14.08.2009 10:22
01MDM

Цитата:
Может лучше через планировщик?
...
И не будет висеть countdown.

Соль в том - чтобы как раз созерцать countdown
Необходим именно ручной запуск.
Автор: 01MDM
Дата сообщения: 14.08.2009 10:35
fargo44
Получай:

Код:
@echo off
setlocal

for /f "tokens=1-3 delims=:" %%i in ("18:00:00") do set /a time_ch=((1%%i-100)*3600)+((1%%j-100)*60)+1%%k-100
for /f "tokens=1-3 delims=:" %%i in ("%time:~0,-3%") do set /a cur_time=((1%%i-100)*3600)+((1%%j-100)*60)+1%%k-100

set /a wait=time_ch-cur_time

shutdown /s /f /t %wait%
Автор: fargo44
Дата сообщения: 14.08.2009 10:41
Огромное спасибо - именно то, что нужно!

Автор: 01MDM
Дата сообщения: 14.08.2009 10:44
fargo44
Я немного исправил, на случай 08 и 09, которые воспринимаются как восмеричные.
Автор: anachrom
Дата сообщения: 14.08.2009 11:51
Shadow4
И того имеем:

Код:
@echo off
setlocal

for /f "tokens=4" %%i in ('sc query themes ^| findstr /i "state"') do (
set "checksrv=%%i"
)

if /i "%checksrv%"!==!"running" (
shutdown -r
)
Автор: fd1136
Дата сообщения: 14.08.2009 17:56
Подскажите, пожалуйста, как можно средствами bat организовать следующую штуку?

Команда netsh interface ip show config дает вывод в виде:


Код: Настройка интерфейса "Канал к коллективному разуму"
DHCP разрешен: Нет
IP-адрес: 192.168.4.6
Маска подсети: 255.255.255.0
Основной шлюз: 192.168.4.1
Метрика шлюза: 0
Метрика интерфейса: 0
Статически настроенные DNS-серверы: 192.168.6.254
Статически настроенные WINS-серверы: Отсутствует
Зарегистрировать с суффиксом: Только основной
Автор: Shadow4
Дата сообщения: 14.08.2009 21:32
anachrom

@echo off
setlocal

for /f "tokens=4" %%i in ('sc query themes ^| findstr /i "state"') do (
set "checksrv=%%i"
)

if /i "%checksrv%"!==!"running" (
shutdown -r
)

так вышепрописанное тупо скопировать и в планировщик?????
как я понял sc query themes - название службы????
Автор: 526549
Дата сообщения: 15.08.2009 01:11
искал и не нашел в сети такой информации. может вы поможете?
вот сделал скрипт такой
for %%i in (.\input\*.*) do "%~dp0converter\ffmpeg.exe" -i "%%~fi" -vn -acodec pcm_s16le -ar 44100 -ac 2 ".\temp\%%~ni.wav"
for %%i in (.\temp\*.wav) do "%~dp0converter\neroAacEnc.exe" -ignorelength -lc -cbr 96000 -if "%%~fi" -of ".\output\%%~ni.m4a"

поясню. сначала из пакпи INPUT обрабатывается пачка файлов через ffmpeg в папку temp. потом файлы из темпа обрабатываются через neroAacEnc и идут в папку output (допустим таких файлов 100). на деле выходит так. сначала обрабатывается вся сотня через ффмпег потом вся сотня через нероаас.. как бы сделать чтобы файлы обрабатывались поединично? сначала файл 1 обрабатывается обоими программами..потом файл 2...и так далее..?
Автор: anachrom
Дата сообщения: 15.08.2009 07:39
Shadow4
Название службы это themes (позволяет упровлять оформлением рабочей области). sc query это сборка команд позволяющая вывести статус сервиса.
При копировании с форума, не забудте удалить в конце каждой строки пробелы, в шапке про это написано в самом начале.

Добавлено:
fd1136
"Канал к коллективному разуму" - это сильно.
Автор: 01MDM
Дата сообщения: 15.08.2009 07:43
fd1136

Цитата:
Хотелось-бы записать в файл только


Код:
@echo off
setlocal

for /f "tokens=*" %%i in ('netsh interface ip show config') do call:parse "%%i"
goto:eof

:parse
set "str="
echo %~1 | 1>nul findstr \".*\" && (
for /f "tokens=3*" %%i in (%1) do echo %%i %%j 1>>file.txt
goto:eof
)

for /f "tokens=2 delims=:" %%i in ('echo %~1 ^| findstr [0-9]') do set "str=%%i"
if not "%str%"=="" echo %str:~1% 1>>file.txt
Автор: anachrom
Дата сообщения: 15.08.2009 07:59
Как указать что имя файла, в который будет все записываться будет носить имя компьютера. Команда hostname позволяет выводить это имя, но вот с файлом ... имя файла так и остается hostname.
Автор: king_stiven
Дата сообщения: 15.08.2009 08:35
526549


Код: for %%i in (.\input\*.*) do (
"%~dp0converter\ffmpeg.exe" -i "%%~fi" -vn -acodec pcm_s16le -ar 44100 -ac 2 ".\temp\%%~ni.wav"
"%~dp0converter\neroAacEnc.exe" -ignorelength -lc -cbr 96000 -if ".\temp\%%~ni.wav" -of ".\output\%%~ni.m4a"
)
Автор: 526549
Дата сообщения: 15.08.2009 09:33
king_stiven
спасибо большое, помогло.
P.s. никому не надо консольный конвертер видео в 264 в два прохода?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778

Предыдущая тема: во вкладке автозагрузка


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