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

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

Автор: giv5dot26
Дата сообщения: 05.07.2010 11:17
res2001
В выходном файле оказывается только последнее значение.
Автор: ComradG
Дата сообщения: 05.07.2010 11:19
res2001
Да! а куда потом жабу кидать - я ветки подходящей так и не нашел. Может PM?
Автор: res2001
Дата сообщения: 05.07.2010 11:19
giv5dot26
точно, сори. Вот так правильно:

Код: for /f "tokens=6" %%a in (file.txt) do >>out.txt echo %%a
Автор: giv5dot26
Дата сообщения: 05.07.2010 11:22
res2001
В выходном файле оказывается только последнее значение.

Добавлено:
res2001
В выходном файле оказывается только последнее значение.

Добавлено:
Что то форум тупит. Спасибо все работает!
Автор: res2001
Дата сообщения: 05.07.2010 11:35
ComradG
Нарыл на одном из предложенных тобой сайтов ссылку, на библиотеку js скриптов, есть очень интересные, в т.ч. и base64, UTF8. Смотрим тут, еще меня заинтересовали скрипты MD5,SHA256, CRC32.
Автор: ComradG
Дата сообщения: 05.07.2010 12:03
res2001
Еще глянь почту - я тебе js'ку по сабжу кинул. Оказывается год назад я base64 уже разбирал. Правда зачем, уже не помню
Автор: res2001
Дата сообщения: 05.07.2010 12:11
ComradG
Спасибо, буду прикручивать.
Осталось найти кодировщик на js из/в koi8-r для полного счастья
Автор: ComradG
Дата сообщения: 05.07.2010 12:25
Кстати, res2001, если у тебя есть в наличие Visual Studio, то тамошнее SDK устанавливает в систему capicom.dll - библиотеку шифрования, которая главным образом используется для подписи файлов. Так вот, в ней рализована туева хуча алгоритмов шифрования, в том числе и base64. И если приложить немного фантазии и знания написания сценариев, то можно и так [more=шифровать данные]Set objCapicom = CreateObject("CAPICOM.Utilities")
strText_1 = objCapicom.Base64Encode("Здесь, собственно помещается текст, который нужно зашифровать.")
'Шифруем
WScript.echo strText_1
'Дешифруем
strText_2 = objCapicom.Base64Decode(strText_1)
WScript.echo strText_2[/more]
Кстати, если не ошибаюсь capicom.dll имеется в Vist'е и 7-ке по умолчанию. Или нет?

Добавлено:
koi8-r разбирается аналогично utf-8 - ничего сложно там нет.
Автор: res2001
Дата сообщения: 05.07.2010 12:49
ComradG

Цитата:
capicom.dll

спс. Посмотрю.

Цитата:
koi8-r разбирается аналогично utf-8 - ничего сложно там нет.

Знаю, но лень разбираться. А в почте кои8 еще достаточно широко применяется. Хотелось бы одним способом все перекодировать. Или сторонней приблудой, или js скриптами.
Пока не нашел JS перекодировщик КОИ8-Р.
Автор: BVV63
Дата сообщения: 05.07.2010 12:59
Всех приветствую. Запарился отлаживать такой фрагмент (делает (вернее, должен делать) список разделов HDD в системе):

Код: SetLocal EnableDelayedExpansion
For /F "Skip=1 Tokens=1 UseBackQ" %%A In (
        `WMIC LogicalDisk Get Caption`
    ) Do (
    If %%A GEq A (
REM Отбрасывает пустую строку в конце.
        For /F "Skip=1 Tokens=1 UseBackQ" %%a In (
            `WMIC LogicalDisk Where "Caption="%%A"" Get DriveType`
            ) Do (
            If %%a==3 (
                Echo %%A>>%Log%
                Set HDDPartitions=!HDDPartitions! %%A
                )
            )
        )
    )
EndLocal & (
    Set HDDPartitions=%HDDPartitions%
    )
Автор: res2001
Дата сообщения: 05.07.2010 13:00
ComradG
посмотрел мсдн по capicom, в утилитах там кроме base64 ничего полезного для меня больше нету.

Добавлено:
BVV63
У меня нормально отработал скрипт. Вывел только буквы локальных жестяков.
Автор: ComradG
Дата сообщения: 05.07.2010 13:19
res2001

Цитата:
кроме base64 ничего полезного для меня больше нету

А хэши?

BVV63
Может
Код: `
Автор: BVV63
Дата сообщения: 05.07.2010 13:23
res2001

Цитата:
Вывел только буквы локальных жестяков.

Да, но почему они многократно дублированы?
ComradG
Не помогает.

Добавлено:
Чтой-то до сих пор с пятницы форум не починили. При отправке каждого сообщения - ошибка.
Автор: ComradG
Дата сообщения: 05.07.2010 13:27
BVV63
Вполне возможно, что где-то в скрипте (а приведен ведь его кусок, верно?) есть "левый" цикл.

Добавлено:
res2001
Если надумаешь на счет capicom.dll можно забрать отдельным паком с сайта мелкософта по этой ссылке
Автор: BVV63
Дата сообщения: 05.07.2010 13:30
ComradG
Специально вырезал кусок, сделал из него отдельный батник, то же самое.
Автор: res2001
Дата сообщения: 05.07.2010 14:18
ComradG

Цитата:
по этой ссылке

спс.
BVV63
такое впечатление, что код вызывается несколько раз.

Добавлено:
BVV63
Если команда
WMIC LogicalDisk Get Caption
выдает нормальный, не дублированный список, то дублироваться не должно.
Если все же дублируется, скорее всего есть несколько вызовов этого куска кода.
Автор: wolf0425
Дата сообщения: 05.07.2010 14:54
BVV63
Цитата:
Специально вырезал кусок, сделал из него отдельный батник, то же самое.

у меня всё нормально отрабатывает, только я минимально почистил мусор:

Код: @echo off
set log=%~n0.log
setlocal enabledelayedexpansion
for /f "skip=1" %%A in ('wmic logicaldisk get caption') do (
for /f "skip=1" %%a in ('wmic logicaldisk where "caption="%%A"" get drivetype') do (
If %%a equ 3 (
1>>%log% echo %%A
set hddpartitions=!hddpartitions! %%A
)
)
)
endlocal & set hddpartitions=%hddpartitions%
set hddpartitions
Автор: ComradG
Дата сообщения: 05.07.2010 15:30
wolf0425
Ты не просто почистил мусор, - ты привел его в читабельный вид. BVV63 без обид.
Ну, как на счет ругани в адрес зипующей vbs-ки? Какие нашел баги и т.д. Мне очень надо, чтобы продолжить ее развитие на общее благо форумчан.
Автор: wolf0425
Дата сообщения: 05.07.2010 16:01

Цитата:
ты привел его в читабельный вид.
ну нравится мне формат лесенки/скобок по C&R


Цитата:
Ну, как на счет ругани в адрес зипующей vbs-ки? Какие нашел баги и т.д.
да работает вроде. как-то.
только например имя "consist «quotes» and — das0000.jpg" переварить не может (в составе папки, отданной в аргументах). и мне интересно - это врожденная проблема виндовой библиотеки или как-то обойти можно.
но это не так чтоб сильно критичный глюк для тех применений, для которых нужен такой vbs...

а, ещё бы надо чтоб при непонятной скрипту команде - он таки печатал хэлп, а не молча закрывался.
А в идеале хочется чтоб ты запомнил это и на будущие скрипты
Автор: lorents
Дата сообщения: 05.07.2010 17:02
res2001

Цитата:
А где скрипт отображает пути?

когда работают именно программы, они отображают не правильно, есть возможность, чтобы когда выбраны все параметры, мой batch начинает работать в кодировке chcp 1251?
Автор: wolf0425
Дата сообщения: 05.07.2010 17:14
lorents фонты настрой наконец, поставь переключение в 1251 в начало, сохрани сам батник в 1251 и перестань извращаться.

батник для сноса кривых настроек фонтов консольных программ и настройки правильных - у тебя есть.
Автор: lorents
Дата сообщения: 05.07.2010 17:21
wolf0425
может ты и прав, я просто не хочу что либо менять в настройках у пользователя
а как можно сделать, что я спросил, просто не думаю четыре раза писать
1>nul chcp 1251

Добавлено:
wolf0425
Ты прав. сделаю как ты говоришь


Добавлено:
wolf0425 вот эта версия вроде последняя правильно?


Код: @echo off
chcp 1251>nul
title Я прога

"%CD%\reg.exe" query "HKCU\Console" /s|findstr /i /r FaceName.*Terminal 1>nul && (

for /f "delims=" %%A in ('""%CD%\reg.exe" query "HKCU\Console"" ^|findstr /b /i /r HKEY_CURRENT_USER\\Console\\.') do "%CD%\reg.exe" delete "%%~A" /f

"%CD%\reg.exe" add "HKCU\Console" /v FontSize /t REG_DWORD /d 1048576 /f
"%CD%\reg.exe" add "HKCU\Console" /v FontFamily /t REG_DWORD /d 54 /f
"%CD%\reg.exe" add "HKCU\Console" /v FontWeight /t REG_DWORD /d 400 /f
"%CD%\reg.exe" add "HKCU\Console" /v FaceName /t REG_SZ /d "Lucida Console" /f

start "" "%~f0" %* & exit

) 1>nul

:begin
echo Кракозябрам нет!

pause
exit
Автор: Vladins
Дата сообщения: 05.07.2010 18:42
Использую батник для пакетного перекодирования wav-mp3, при обработке каждого файла время, которое пишет батник не изменяется, оно соответствует началу конвертации первого файла. Как это исправить?

Код: @echo off
:: *** старт команд ***
for %%i in (*.wav) do (
echo ********** File %%i **********
echo.
echo [%DATE% %TIME%] start convert audio
echo.
"C:\Program Files\1\clienc\lame.exe" --cbr --strictly-enforce-ISO --noreplaygain -b 160 -q0 "%%~ni.wav" "D:\temp\outputbp\%%~ni.mp3"
)
Автор: king_stiven
Дата сообщения: 05.07.2010 18:59
Vladins
Странно, у меня каждый раз новое время пишет.
Автор: Vladins
Дата сообщения: 05.07.2010 19:05
king_stiven
перед словами start convert audio пишется дата и время. Хотелось бы видеть время начала конвертации кажого файла.
Автор: wolf0425
Дата сообщения: 05.07.2010 19:22
lorents

Цитата:
А можно заменить вместо %CD% на %SystemRoot%\System32\
так вроде лучше будет?
можно, а можно просто убрать - это было прописано для win2000, где своего reg.exe нет


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



Добавлено:
Цитата:
перед словами start convert audio пишется дата и время. Хотелось бы видеть время начала конвертации кажого файла.
Vladins замени строку на

Код: call echo [%%DATE%% %%TIME%%] start convert audio
Автор: lorents
Дата сообщения: 05.07.2010 19:34
wolf0425
сделал так

Код: @echo off
chcp 1251>nul
title Rus

"%CD%\reg.exe" query "HKCU\Console" /s|findstr /i /r FaceName.*Terminal 1>nul && (

for /f "delims=" %%A in ('""%CD%\reg.exe" query "HKCU\Console"" ^|findstr /b /i /r HKEY_CURRENT_USER\\Console\\.') do "%CD%\reg.exe" delete "%%~A" /f

reg.exe add "HKCU\Console" /v FontSize /t REG_DWORD /d 1048576 /f
reg.exe add "HKCU\Console" /v FontFamily /t REG_DWORD /d 54 /f
reg.exe add "HKCU\Console" /v FontWeight /t REG_DWORD /d 400 /f
reg.exe add "HKCU\Console" /v FaceName /t REG_SZ /d "Lucida Console" /f

start "" "%~f0" %* & exit

) 1>nul

:begin
echo Кракозябрам нет!

pause
exit
Автор: Vladins
Дата сообщения: 05.07.2010 19:38
wolf0425 Работает! Еще вопрос: для этого батника (и других по пакетной конвертации)
ставлю низкий приоритет таким способом: батник wav to mp3 переименовываю в 1.bat а потом запускаю второй батник в той же папке с таким содержимым:

Код: start /low 1.bat
Автор: ComradG
Дата сообщения: 05.07.2010 20:01
wolf0425
В целом - стоит продолжать разитие vbs-ки?
За критику и указание на ошибки - спасибо отдельной строкой.

Vladins
А в чем криминал обычного приоритета батника?
Автор: Vladins
Дата сообщения: 05.07.2010 20:16
ComradG не люблю тормоза, а каждый раз из диспетчера задач неудобно приоритет менять, ведь файлов много.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132

Предыдущая тема: XP не видит второй раздел на съемном USB-HDD


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