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

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

Автор: Elroir
Дата сообщения: 20.01.2007 18:28
royt
Я невнимательно прочитал - вместо "экспортировать", понял как "импортировать".
Так, что мой вопрос не актуален.
Автор: FormatCvt
Дата сообщения: 20.01.2007 19:32
Появилась задачка, которую надо срочно решить. Может, кто с ходу ответит - разбираться некогда (в Win2003 помню можно такое сделать, но книжка на работе, не посмотреть ).
Нужно:
1. Получить имя текущего пользователя компьютера
2. Проверить, есть ли у него права администратора
3. Выдать какое-нибуть значение (например, 1 - есть права/0 - нет прав, true/false, errollevel=...) для дальнейшей обработки

Система - WinXP pro. Права урезаны сильно, но считать из реестра вроде можно.
Установка доп. софта, правка реестра и прочие вещи, требующие админских прав, к сожалению, невозможны.
Автор: Elroir
Дата сообщения: 20.01.2007 20:06
FormatCvt

Код:
net user %username% | find "Administrators">nul
if %errorlevel%==0 (set isAdmin=true) else (set isAdmin=false)
echo %isAdmin%
Автор: FormatCvt
Дата сообщения: 20.01.2007 20:31
СПАСИБО, Elroir !!!

net user %username% !!!!

Это как раз то, что я не смог вспомнить! Все работает!
Автор: Compik
Дата сообщения: 21.01.2007 01:22
Привет!
Есть ли возможность выключить питание ATX из DOS?
Пролазил топик нужного сабжа не встретил.
Автор: Elroir
Дата сообщения: 21.01.2007 02:51
Compik
Попробуй утилиту отсюда
Автор: FormatCvt
Дата сообщения: 21.01.2007 17:08
Compik

Shutdown
Позволяет выключать или перезапускать локальный или удаленный компьютер.

Набери в командной строке
%windir%\System32\shutdown.exe /?

например:
%windir%\System32\shutdown.exe -s -f -t 05
выключит комп через 5 секунд с принудительным завершением приложений
Автор: Compik
Дата сообщения: 21.01.2007 21:29
Elroir
Спасибо, скачал, попробую. И где ты её надыбал...


FormatCvt

Цитата:
выключить питание ATX из DOS
вообще-то я хотел
Автор: ATZATZ
Дата сообщения: 22.01.2007 01:31
Всем привет!Подскажите,что за переменная blaster ?несколько дней назад посмотрел set-была а сейчас нет! Терзаюсь смутными подозрениями...
Автор: Elroir
Дата сообщения: 22.01.2007 02:21
Compik

Цитата:
И где ты её надыбал...

У кого-то из участников форума, в подписи написано: "Google рулит!"

ATZATZ

Цитата:
Подскажите,что за переменная blaster

Переменная blaster использовалась для установки значений прерывания, порта и канала DMA звуковой карточки (soundblaster, в частности) в DOS-е. Досовские игры (не все, конечно, но большинство) считывали значение этой переменной и только так могли использовать звуковую карточку.
Автор: 174bpm
Дата сообщения: 22.01.2007 12:22
здравствуйте, пользуюсь (вернее пытаюсь воспользоваться) replaygain (mp3gain) из комплекта Audio Encoding Utils для рипанья МРЗ релизов


Цитата:
Until I can get either Jud White, author of CD Tag, or Andre Wiethoff, author of Exact Audio Copy to add support for replaygain in either of those applications, we'll have to do it manually. Luckily I have automated this as much as possible: to apply replaygain to your freshly encoded files, simply right-click the folder you wish to process and select "Do Replaygain" from the pop-up menu as depicted below:


ну я тыкаю - контекстное меню есть, а результат вот такой:


Цитата:
"mp3gain" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Finished
Для продолжения нажмите любую клавишу . . .



Цитата:
HKEY_CLASSES_ROOT\Folder\shell\Do Replaygain\command:
D:\Program Files\Audio Encoding Utils\Replaygain\dogain.bat %1



Цитата:
D:\Program Files\Audio Encoding Utils\Replaygain>set path
Path=D:\WINDOWS\system32;D:\WINDOWS;D:\WINDOWS\System32\Wbem
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH


D:\Program Files\Audio Encoding Utils\Replaygain\dogain.bat:

Цитата:
@echo off
cd %1
path=%path%;c:\PROGRA~1\AUDIOE~1\REPLAY~1;C:\PROGRA~1\AUDIOE~1\CODECS\FLAC;C:\PROGRA~1\AUDIOE~1\CODECS\MPC

if exist *.mp3 goto mp3
if exist *.mpc goto mpc
if exist *.ogg goto ogg
if exist *.flac goto flac
echo No recognized files found!

:mp3
mp3gain /a /k *.mp3
goto end

:mpc
replaygain --auto *.mpc
goto end

gg
vorbisgain -s -a *.ogg
goto end

:flac
echo Applying replaygain to flac files... please wait this may take a few minutes to complete
set list=
for %%F in (*.flac) do set list=!list! "%%~F"
metaflac --add-replay-gain %list%
goto end

:end
echo Finished
pause


файл есть:
D:\Program Files\Audio Encoding Utils\Replaygain\mp3gain.exe

почему?
куда копать?
Автор: ATZATZ
Дата сообщения: 22.01.2007 12:34
ElroirСпасибо.Успокоил.


Добавлено:
Автор: Elroir
Дата сообщения: 22.01.2007 12:49
174bpm

Цитата:
path=%path%;c:\PROGRA~1\AUDIOE~1\REPLAY~1;C:\PROGRA~1\AUDIOE~1\CODECS\FLAC;C:\PROGRA~1\AUDIOE~1\CODECS\MPC

измени на:

Код: path=%path%;D:\PROGRA~1\AUDIOE~1\REPLAY~1;D:\PROGRA~1\AUDIOE~1\CODECS\FLAC;D:\PROGRA~1\AUDIOE~1\CODECS\MPC
Автор: IVTU
Дата сообщения: 24.01.2007 18:39

Цитата:
Win98 Как в переменную батника занести текущюу дату?


Автор: Frostt
Дата сообщения: 31.01.2007 01:49
Извините за ламерский вопрос, но приспичило.
Есть консольная программа для конвертации которую надо применить на всех файлах.
Этих файлов очень много и находятся в разных папках, они папка в папке. и т.д
Если применять программу на файле или прописать путь к одному файлу к одному где бы он не был, то все пашет. Но так не пойдет так каждый файл лежит в свое папке которая в свою очередь еще в другой и так для каждого файла. Руками писать для каждого сдохнешь.

Задача в том, то надо правильно задать путь к фалам, чтобы прога искала эти файл по заданному расшерению во всех папках где сама прога и лежит и на любую глубину вложения.
Автор: Shaa
Дата сообщения: 31.01.2007 02:52
Frostt
попробуй что-то в этом роде

@echo off
dir /s /b /a:-d | find /V "pr.bat" > ..\tmp
for /f "tokens=*" %%i in (..\tmp) do echo process file %%i to %%~dpi%%~ni.v2
del ..\tmp

батник назови pr.bat, или как хочешь но тогда измени в коде "pr.bat" на то имя которое выберешь.. имя батника должно быть таким, чтобы нигде в подпапках не было файла с подобным именем (иначе он не будет обработан).

ЗЫ. Уважаемые Гуру, я только учусь, так что готов выслушать критику
от себя в данном случае столкнулся с двумя проблемами:
1. как избавиться от имени испольняемого батника
2. как избавиться от временного файлика tmp в списке файлов.. - просто dir /s /b /a:-d | find /V "pr.bat" в наборе в команде for - пишет ошибку.
Автор: Rurik
Дата сообщения: 31.01.2007 07:37
Frostt

FOR /R корневой_путь %a in (маска файлов) do ковертировать %a
Автор: Shaa
Дата сообщения: 31.01.2007 16:28
вижу усложнил все, не заметил ключик /R в цикле...
Автор: royt
Дата сообщения: 31.01.2007 19:18
Подскажите, есть ли способ узнать - происходит ли в текущий момент времени питание компьютера от аккумулятора?
Нужно в батнике запускать задачу только в случае, если ноутбук подключен к розетке.
Автор: igor_andreev
Дата сообщения: 31.01.2007 21:47
royt
У тебя на ноуте XP? Попробуй так

Код:
@ECHO OFF

> tmp.vbs ECHO.For each Item in GetObject^("winmgmts:{impersonationLevel=impersonate}"^).InstancesOf^("Win32_Battery"^)
>>tmp.vbs ECHO.If Item.EstimatedRunTime=71582788 Then WScript.Echo "CHARGING"
>>tmp.vbs ECHO.Next

FOR /F %%A IN ('cscript tmp.vbs //Nologo') DO SET "battery_status=%%A"
DEL tmp.vbs
IF .%battery_status%==.CHARGING (ECHO.220V) ELSE ECHO.Battery!
PAUSE
Автор: OOD
Дата сообщения: 03.02.2007 20:12
почему не работает скачивание файла с Ftp
bat.bat:
ftp -s:file.txt -v -i

file.txt:
open host
user логин пароль
get файл который нужнос качать.txt
quit


пишет:
Authentication failed, sorry
Сбой входа.
C:\>ftp -s:file.txt -v -i
ftp> open host
Пользователь (hostnone))

Authentication failed, sorry
Сбой входа.
ftp>


если подключаюсь через ftp host... через командную строку всё работает...



Автор: Garrett
Дата сообщения: 03.02.2007 20:18
OOD
надо так:

file.txt:
open host
логин
пароль
get файл который нужнос качать.txt
quit
Автор: OOD
Дата сообщения: 03.02.2007 20:33
Garrett
Спасибо получилось, а ели нужно записать файл какая нужна для этого команда подскажите плыз
Автор: Garrett
Дата сообщения: 03.02.2007 20:40
put
Автор: OOD
Дата сообщения: 03.02.2007 21:05
Garrett
Спасибо
Автор: miheenko
Дата сообщения: 05.02.2007 12:58
@Echo Off
Set A=0
For /F "delims==$" %%a In (D:\Bat\m4020501.snt) Do Call :Lab1 %%a
GoTo :EOF

:Lab1
Set st=%1
Set ST=%ST:~1%
Set ST=%ST:~0,-1%
Set /A A=%A%+1
If %A% ==17 Echo %st%>>D:\Bat\bat1.txt
stop
GoTo :EOF


Прикольный код, но есть вопрос. Как его переработать, чтобы батником копировать в нужной строке нужную цыфру. У меня вот такой файл по содержанию.


****************************************************************************************************

СПРАВКА ПРОГРАММЫ КОНТРОЛЯ ДОКУМЕНТОВ



КОЛ-ВО ДОКУМЕНТОВ С У М М А
КОНТРОЛИРОВАЛОСЬ -----------------------------------------------------------------------------------
ПО ВСЕМ ДОКУМЕНТАМ 1 2.690.000=00
ED101 1 2.690.000=00
ED104 0 0=00
ED105 0 0=00
ED110 0 0=00
ED202 0 0=00
ED204 0 0=00
ОТБРАКОВАЛОСЬ -----------------------------------------------------------------------------------
ПО ВСЕМ ДОКУМЕНТАМ 0 0=00
ED101 0 0=00
ED104 0 0=00
ED105 0 0=00
ED110 0 0=00
ED202 0 0=00
ED204 0 0=00
ПРОШЛИ КОНТРОЛЬ -----------------------------------------------------------------------------------
ПО ВСЕМ ДОКУМЕНТАМ 1 2.690.000=00
ED101 1 2.690.000=00
ED104 0 0=00
ED105 0 0=00
ED110 0 0=00
ED202 0 0=00
ED204 0 0=00
****************************************************************************************************
******

Из этой строки мне нужно вытащить 2.690.000=00

ПО ВСЕМ ДОКУМЕНТАМ 1 2.690.000=00

а из этой тоже 2.690.000=00

ПО ВСЕМ ДОКУМЕНТАМ 1 2.690.000=00


За ранее спасибо.

Автор: royt
Дата сообщения: 05.02.2007 14:46
igor_andreev
спасибо большое, будем пробовать.


Еще такой вопрос, кто подскажет,
может не совсем по батникам, но близко к теме.
Частенько надо вывести результат какой-нибудь проги (консольной), путем перенаправления вывода, отфильтровав содержимое - что делаю с помощью всяких grep и т.д. Но еще иногда хочется расцветить строки, чтобы сразу было видно - на что обратить внимание. Есть какие-то утилитки для этого? Желательно, чтобы можно было использовать регулярные выражения. Вообще-то, для этого могло бы хватить и grep - но я не нашел такого, который бы умел и в цвете выводить (например, cygwin-овский умеет), и в то же время мог выводить все строки - а не только те, которые подошли под фильтр (grep выводит только отфильтрованные, либо наоборот только неотфильтрованные, но не одновременно).
Обращаю внимание, что надо не просто "переключать" текущие цвета консоли (текста и фона), а раскрашивать как бы на ходу перенаправленный вывод в консоль, прозрачно для программы-источника.
Автор: miheenko
Дата сообщения: 05.02.2007 14:49
я уверен, что это можно сделать батником.
Автор: royt
Дата сообщения: 05.02.2007 14:56
...т.е. должно работать по типу:

Код: программа-генератор-текста.exe | программа-расцветчик
Автор: Elroir
Дата сообщения: 05.02.2007 15:31
miheenko

Код:
@echo off
setlocal enabledelayedexpansion
chcp 1251>nul
for /f "tokens=1,5" %%a in (spravka.txt) do (
if /i "%%a"=="КОНТРОЛИРОВАЛОСЬ" set "title=%%a"
if /i "%%a"=="ПРОШЛИ" set "title=%%a"
if /i "%%a"=="ОТБРАКОВАЛОСЬ" set "title=%%a"
if /i "%%a"=="ПО" (
if "!title!"=="КОНТРОЛИРОВАЛОСЬ" echo %%b
if "!title!"=="ПРОШЛИ" echo %%b
)
)

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879

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


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