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

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

Автор: Engraf
Дата сообщения: 16.06.2011 16:16
olegpronin
А если вот так:
Код: @echo off
set "_dest=c:\FLAC\"
dir /B /AD /S *[FLAC] > list1.tmp
setlocal ENABLEDELAYEDEXPANSION
for /F "delims=" %%I in (list1.tmp) do (
    set "folder=%%I"
    set "folder=!folder:%_dest%=!"
    echo/!folder! >> list2.tmp
)
for /F "delims=\ tokens=2" %%I in (list2.tmp) do (echo/%%I>>list.txt)
del *.tmp
Автор: vertigoavi
Дата сообщения: 16.06.2011 16:18
Подскажите, пожалуйста, как решить следующую задачу.
Нужно пакетно обработать изображения с помощью консольной ImageMagick. Изображения хранятся в папке name (название условное) и множестве подпапок. Нужно обработанные изображения сложить в папку name_new с сохранением первоначальной структуры всех вложенных подпапок.
Автор: 01MDM
Дата сообщения: 16.06.2011 16:22

Цитата:
Вот структура каталогов:
c:\FLAC\Artist {Genre 1, Genre 2}\Artist - Album (Year) [FLAC]


Код:
@echo off
for /d %%i in ("c:\flac\*") do for /d %%j in ("%%~fi\*") do echo %%~nxj
Автор: olegpronin
Дата сообщения: 16.06.2011 17:08
01MDM
Engraf

вот так получилось

Цитата:
@echo off
for /r c:\flac /d %%i in (*[FLAC]*) do echo %%~nxi >> list.txt


p.s. кто-нибудь может помочь тоже самое сделать для консоли unix? (mac os) -> вроде придумал
Автор: p3west
Дата сообщения: 16.06.2011 17:33

Цитата:
Цитата:Это вы считаете помощь в создании батника раз ответом такая лажа пишется?

"Помоги себе сам" - кажется так говорится? А вот вы не хотите себе помочь. Вы живёте в мире, где есть только один архиватор?



Хорошо...Предположим я новичок и не знаю как что и где прописывать и ваших терминов тоже не понимаю.Как тогда вам нужно сформулировать вопрос чтобы вы все поняли и просто помогли мне? Архиватором допустим является rar...Я конечно понимаю здесь все умные,но раз так,то помогите не умному...
Автор: wolf0425
Дата сообщения: 16.06.2011 17:50

Цитата:
Предположим я новичок и не знаю как что и где прописывать и ваших терминов тоже не понимаю
тогда тебе надо почитать что-то, чтоб понимать что тебе отвечают.
Цитата:
Архиватором допустим является rar..

для стандартного каталога инсталляции winrar:

Код: "C:\Program Files\WinRAR\Rar.exe" x -- "путь_к_архиву\имя_архива" "путь_куда_распаковать\"
Автор: ShamanNeo
Дата сообщения: 16.06.2011 18:17
Elroir

Цитата:
start WScript Setup.vbs //B //Nologo


Спасибо большое! Все заработало.
Автор: res2001
Дата сообщения: 16.06.2011 19:11
fire4x

Цитата:
>nul 2>&1

stdin перенаправляем в nul, а stderr в stdin, т.е. фактически тоже в nul. В таком виде аналогично 1>nul 2>nul

Цитата:
if defined num >>test1.txt echo.!txt!

Это просто if, который проверяет наличие переменной num.
if /?

Цитата:
echo.%txt:~1% VS echo.%ff:~1%

Да то же самое, просто в этом скрипте я использовал переменную txt, а в прошлом ff.
txt и ff просто имена переменных, могут быть любыми.

Вот тебе уроки батаники, почитай, думаю много вопросов снимется:
http://www.rsdn.ru/article/winshell/batanyca.xml
В шапке есть "Полезные ссылки", там еще есть несколько мануалов.
Ну и не забывай что практически любая команда в cmd имеет ключ /?
Автор: fire4x
Дата сообщения: 17.06.2011 00:09
res2001

Цитата:
Вот тебе уроки батаники, почитай, думаю много вопросов снимется:
http://www.rsdn.ru/article/winshell/batanyca.xml
В шапке есть "Полезные ссылки", там еще есть несколько мануалов.

Уже просматривал.

Цитата:

Ну и не забывай что практически любая команда в cmd имеет ключ /?

Я в курсе.

Ещё пару вопросов по теме:
Можно ли в файле Х сменить кодировку (например WIN->KOI->MAC)?
Можно ли изменить байты по смещению в файле (типа НЕХ-редактора)?
Можно ли сделать отсчет на экране, например с 10 до 0, после чего запустить файл Х?

Автор: Elroir
Дата сообщения: 17.06.2011 01:31
fire4x

Цитата:
Можно ли в файле Х сменить кодировку (например WIN->KOI->MAC)?

В шапке, в разделе "Полезные утилиты", есть ссылка на программу xcodewin
Автор: 01MDM
Дата сообщения: 17.06.2011 06:22
fire4x

Цитата:
Можно ли сделать отсчет на экране, например с 10 до 0, после чего запустить файл Х?

Без очистки буфера хоста:

Код:
@echo off

for %%i in ( p l e a s "e w" a i t ) do 1>nul ping -n 2 localhost && 0>nul set /p="%%~i"
start calc
Автор: vertigoavi
Дата сообщения: 17.06.2011 09:13

Цитата:
Image Magic нет, поэтому условно:


Код: @echo off

xcopy /t /e "c:\name" "c:\new_name\"
subst z: "c:\name"
pushd z:

for /f "tokens=*" %%i in (' dir /b /s /a *.jpg *.png *.gif ') do (

echo imagemagic "%%i" "c:\new_name%%~pnxi"

)
popd
subst z: /d



Проверь, убери echo, подставь нужные параметры. "c:\new_name%%~pnxi" будет служить путем для выходного файла в imagemagic. Там же есть возможность определять местоположение результирующего файла?
Автор: Nagual
Дата сообщения: 17.06.2011 14:06
vertigoavi
что надо сделать? по твоему посту мало что понятно, телепаты в отпуске
Автор: omamont
Дата сообщения: 17.06.2011 14:58
Задача:
в urlfilter.ini
строки:
*.dt00.net/*
*.ru/counter?*
*/images/banners/*
*.redtram.com/*/*.js*
и т.д.

Заменить все символы "*." на "." в начале строк
а, символы "*" в начале строк - удалить.

типа:
*.dt00.net/*
.dt00.net/*
и
*/images/banners/*
/images/banners/*
Автор: fire4x
Дата сообщения: 17.06.2011 15:06
01MDM

Цитата:
Без очистки буфера хоста:

Код:
@echo off

for %%i in ( p l e a s "e w" a i t ) do 1>nul ping -n 2 localhost && 0>nul set /p="%%~i"
start calc

Как вставлять в текст знаки пунктуации и пробелы?
Автор: vertigoavi
Дата сообщения: 17.06.2011 15:19
Nagual

Цитата:
что надо сделать? по твоему посту мало что понятно, телепаты в отпуске

http://forum.ru-board.com/topic.cgi?forum=62&topic=22143&start=1760#2
Автор: RSEREGAR
Дата сообщения: 17.06.2011 15:27
Нужен скрипт для установки шрифта по сети
От сюда: http://forum.ru-board.com/topic.cgi?forum=8&bm=1&topic=41442#lt
Автор: res2001
Дата сообщения: 17.06.2011 16:17
RSEREGAR
ну дык, для редактирования реестра есть стандартная утилита - reg
смотри
reg /?
reg query /?
reg add /?
Если скажешь, что и куда прописывать в реестре можно помочь и с правильной командой.
Ну а копирование, как обычно
copy file.fnt \\comp\admin$\fonts\
Главное чтоб админский доступ был.
Автор: fire4x
Дата сообщения: 17.06.2011 17:33
res2001

Код:
@echo off
setlocal
chcp 1251>nul
set "word=Тестовое слово"
SET "word=%word:ж=zh%"
...
SET "word=%word: =_%"
echo %word%
Автор: res2001
Дата сообщения: 17.06.2011 19:07
fire4x
Че-та я не помню это свое творение.
А к файлу применить так:
set word=<file.txt
Только в файле должна быть 1 строка.
Автор: fire4x
Дата сообщения: 17.06.2011 19:37
res2001

Цитата:
Че-та я не помню это свое творение.

Конвертирование текста из кириллицы в латиницу

Цитата:
set word=<file.txt

Не хочет функционировать.

Цитата:
Только в файле должна быть 1 строка.

А под многострочный файл возможна переделка?

Автор: res2001
Дата сообщения: 17.06.2011 19:52
fire4x
Ты хочешь весь файл транслитерировать?
Поищи лучше утилиту, их полно. Гугл в помощь. Кстати на vbs/js это делается очень легко, гораздо красивее чем на батниках.

set /p word=file.txt
для однострочного файла
Для многострочного надо в цикл загнать:

Код: for /f "tokens=* delims=" %%a in (file.txt) do (
echo.%%a
)
Автор: fire4x
Дата сообщения: 17.06.2011 20:32
res2001

Цитата:
Код:setlocal enabledelayedexpansion
for /f "tokens=* delims=" %%a in (file.txt) do (
set "word=%%a"
SET "word=!word:ж=zh!"
)

Не хочет работать.

Цитата:
Кстати на vbs/js это делается очень легко, гораздо красивее чем на батниках.

Спасибо за подсказку. Осталось найти умельцев...

Автор: wolf0425
Дата сообщения: 17.06.2011 20:37
.
Автор: RSEREGAR
Дата сообщения: 17.06.2011 21:01
res2001

Цитата:
Если скажешь, что и куда прописывать в реестре можно помочь и с правильной командой.

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts\Название шрифта (TrueType)
Можно и локально. Скопировать и запустить удаленно батник смогу.

Автор: res2001
Дата сообщения: 17.06.2011 21:43
fire4x

Цитата:
Не хочет работать.

Ну естественно не хочет Точнее ничего не выводит. Оператора вывода то нет.

Код: @echo off
setlocal enabledelayedexpansion
for /f "tokens=* delims=" %%a in (file.txt) do (
set "word=%%a"
echo !word:ж=zh!
)
Автор: fire4x
Дата сообщения: 17.06.2011 22:59
res2001

Цитата:
Ну естественно не хочет Точнее ничего не выводит. Оператора вывода то нет.

Код:@echo off
setlocal enabledelayedexpansion
for /f "tokens=* delims=" %%a in (file.txt) do (
set "word=%%a"
echo !word:ж=zh!
)

И так не хочет.
P.S. Сюда, наверное, нужно еще дописать имя файла, в который все это запишется?
Автор: 01MDM
Дата сообщения: 17.06.2011 23:54
vertigoavi

Цитата:
Вот, например, одна из команд ImageMagick для одного файла:
convert file_in.png -background black -channel A -combine file_out.png

Подставь в батник эту строку:

Код:
convert "%%i" -background black -channel A -combine "c:\new_name%%~pnxi"
Автор: king_stiven
Дата сообщения: 18.06.2011 09:03
По транслитерации был готовый батник в старых темах, поиском в версии для печати можно найти.
Автор: wolf0425
Дата сообщения: 18.06.2011 09:15
omamont
sed -r -i "s;^\*;;gi" urlfilter.ini

sed.exe в шапке или в яндексе

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071

Предыдущая тема: зависает установка Windows XP: 39 минут


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