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

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

Автор: 01MDM
Дата сообщения: 27.03.2010 12:43
rdenk1

Цитата:
Вот такая строка почему-то не работает

А что ты хотел изначально? Что должна делать данная строка?
Автор: rdenk1
Дата сообщения: 27.03.2010 13:13
Файл, имя которого не совпадает ни с одной строкой - его надо переименовать
Автор: 01MDM
Дата сообщения: 27.03.2010 13:29
rdenk1
Попробуй такой вариант. Не тестировал.

Код:
for /f "tokens=*" %%i in ('dir /b /s /a-d') do (
echo %%~nxi | 1>nul findstr /v /i "0.7z 1.7z %variable%.7z" && ren "%%i" 2.7z
)
Автор: rdenk1
Дата сообщения: 27.03.2010 13:30
Работает!
Автор: AlexanderBV
Дата сообщения: 27.03.2010 13:45
wolf0425

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

Как смог, учимся на своих ошибках.

Автор: rdenk1
Дата сообщения: 27.03.2010 16:00
01MDM
А какие ключи надо прописать, чтоб он трогал только *.7z файлы и не заходил в подпапки?
Автор: 01MDM
Дата сообщения: 27.03.2010 16:12
rdenk1

Код:
for %%i in (*.7z) do (
echo %%~nxi | 1>nul findstr /v /i "0.7z 1.7z %variable%.7z" && ren "%%i" 2.7z
)
Автор: lorents
Дата сообщения: 27.03.2010 17:14
01MDM

Цитата:
Я, когда пользовался XP Home, многие утилиты просто перенс с XP Pro. Все работало.

А можно мне тоже так сделать, какая улита нужна для выполнения этого кода

Код: @echo off
tasklist | find /i "process.exe">nul
if %errorlevel%==1 process.exe
Автор: HW2yS
Дата сообщения: 27.03.2010 17:36
Здравствуйте,
помогите пожалуйста
есть десяток exe rar-ов с прописанными путями экстракта
vm1.rar.exe "c:\vms"
vm2.rar.exe "d:\vms"
и т.д.
каким образом из командной строки распаковать их по очереди а не одновременно
одной командой
заранее спасибо
Автор: wolf0425
Дата сообщения: 27.03.2010 18:20

Цитата:
есть десяток exe rar-ов с прописанными путями экстракта
а где они есть? на бумажке?
если в файле - то как-то так:
for /f %%a in (file.lst) do rar x %%a %%b\
Автор: 01MDM
Дата сообщения: 27.03.2010 19:46
lorents

Цитата:
какая улита нужна для выполнения этого кода

tasklist.exe
Автор: lorents
Дата сообщения: 27.03.2010 22:15
01MDM

Цитата:
tasklist.exe

Чета Я сам не догадался, спасибо

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

Объясните пожалуйста, когда я конверитую батник в exe, то при запуске мне пишется, что "Системе не удается найти указанный путь.", думаю ошибка в Docs\png.log

[more]
Код: @echo off
echo Image Optimizer 1.0.0.0 (beta) от 27.03.2010
echo Image Optimizer - сборник программ для оптимизации графических форматов *.png и *.jpg, который состоит из следующих программ:
echo ∙ Advpng (входит в состав AdvanceComp 1.15 от 01.11.2005);
echo ∙ DeflOpt 2.07 от 05.09.2007;
echo ∙ Jhead 2.90 от 05.02.2010;
echo ∙ Jpegtran (входит в состав Libjpeg 8.0 от 10.01.2010);
echo ∙ OptiPng 0.6.4 от 15.03.2010;
echo ∙ PngCrush 1.7.10 от 13.03.2010;
echo ∙ PngOut от 23.03.2010;
echo ∙ Zlib 1.2.4 от 14.03.2010.
echo Автор не несет ответственность за работу данного приложения.
echo Вы использует данную программу под свой страх и риск.
echo Скопируйте необходимые изображения формата *.png или *.jpg в папку "Images" и нажмите на Enter для продолжения.

pause>nul
1>nul 2>nul dir /b /s /a-d Images\*.png || goto:jpeg

:loop1
echo Выберите параметр оптимизации PNG
echo [1] PNG - Noninterlaced
echo [2] PNG - Adam7 (Interlaced)

set /p png="Укажите параметр оптимизации PNG: "

if not defined png goto:eof
if %png%==1 goto:Noninterlaced
if %png%==2 goto:Adam7
goto:loop1

:Noninterlaced
echo Noninterlaced
Rem Optimization PNG (Interlace - Noninterlaced)
for /f "delims=" %%i in ('dir /b /s /a-d Images\*.png') do (
    call :png "%%~fi"
    "%~dp0Docs\pngcrush.exe" -rem alla -brute -reduce "%%~fi" "%%~dpni.tmp"
    move /y "%%~dpni.tmp" "%%~fi"
    "%~dp0Docs\advpng.exe" -z -4 "%%~fi"
    "%~dp0Docs\deflopt.exe" "%%~fi"
    "%~dp0Docs\optipng.exe" -zc1-9 -zm1-9 -zs0-3 -f0-5 "%%~fi"
    "%~dp0Docs\advpng.exe" -z -4 "%%~fi"
    "%~dp0Docs\deflopt.exe" "%%~fi"
    "%~dp0Docs\pngout.exe" "%%~fi"
    "%~dp0Docs\advpng.exe" -z -4 "%%~fi"
    "%~dp0Docs\deflopt.exe" "%%~fi"
)
goto:jpeg

:png
"%~dp0Docs\optipng.exe" -i0 -zc1-9 -zm1-9 -zs0-3 -f0-5 %1 > Docs\png.log
for /f "delims==,IDAT tokens=5" %%i in (Docs\png.log) do (
    set f=%%i
)
set f=%f:~1,1%
del Docs\png.log
"%~dp0Docs\pngout.exe" /k0 /n2 /f%f% %1
goto:eof


:Adam7
echo Adam7
Rem Optimization PNG (Interlace - Adam7)
for /f "delims=" %%i in ('dir /b /s /a-d Images\*.png') do (
    "%~dp0Docs\optipng.exe" -i1 "%%~fi"
    "%~dp0Docs\pngcrush.exe" -rem alla -brute -reduce "%%~fi" "%%~dpni.tmp"
    move /y "%%~dpni.tmp" "%%~fi"
    "%~dp0Docs\advpng.exe" -z -4 "%%~fi"
    "%~dp0Docs\deflopt.exe" "%%~fi"
    "%~dp0Docs\optipng.exe" -zc1-9 -zm1-9 -zs0-3 -f0-5 "%%~fi"
    "%~dp0Docs\advpng.exe" -z -4 "%%~fi"
    "%~dp0Docs\deflopt.exe" "%%~fi"
)

:jpeg
1>nul 2>nul dir /b /s /a-d Images\*.jpg Images\*.jpeg && goto:loop2
if not defined png echo Not found: Images\*.png Images\*.jpg Images\*.jpeg
goto:eof

:loop2
echo Выберите параметр оптимизации JPEG
echo [1] JPEG - Optimize
echo [2] JPEG - Progressive
echo [3] JPEG - Progressive vs. Optimize

set /p jpeg="Укажите параметр оптимизации JPEG: "

if not defined jpeg goto:eof
if %jpeg%==1 goto:Optimize
if %jpeg%==2 goto:Progressive
if %jpeg%==3 goto:Progressive_Optimize
goto:loop2

:Optimize
echo JPEG - Optimize
Rem Optimization JPEG (Optimize)
for /f "delims=" %%i in ('dir /b /s /a-d Images\*.jpg Images\*.jpeg') do (
    "%~dp0Docs\jpegtran.exe" -copy all -optimize "%%~fi" "%%~fi"
    "%~dp0Docs\jhead.exe" -dc -de -di -dx -du "%%~fi"
)
goto:eof

:Progressive
echo JPEG - Progressive
Rem Optimization JPEG (Progressive)
for /f "delims=" %%i in ('dir /b /s /a-d Images\*.jpg Images\*.jpeg') do (
    "%~dp0Docs\jpegtran.exe" -copy all -progressive "%%~fi" "%%~fi"
    "%~dp0Docs\jhead.exe" -dc -de -di -dx -du "%%~fi"
)
goto:eof

:Progressive_Optimize
echo JPEG - Progressive vs. Optimize
Rem Optimization JPEG (Progressive vs. Optimize)
for /f "delims=" %%i in ('dir /b /s /a-d Images\*.jpg Images\*.jpeg') do (
    "%~dp0Docs\jpegtran.exe" -copy all -progressive "%%~fi" "%%~dpni_pro.tmp"
    "%~dp0Docs\jpegtran.exe" -copy all -optimize "%%~fi" "%%~dpni_opt.tmp"
    call :compare "%%~dpni_pro.tmp" "%%~dpni_opt.tmp" "%%~fi" "%%~nxi"
    "%~dp0Docs\jhead.exe" -dc -de -di -dx -du "%%~fi"
)
goto:eof

:compare
if %~z1 LSS %~z2 (
    DEL /F /Q %2
    DEL /F /Q %3
    REN %1 %4
) else (
    DEL /F /Q %1
    DEL /F /Q %3
    REN %2 %4
)
goto:eof
Автор: wolf0425
Дата сообщения: 28.03.2010 00:12

Цитата:
думаю ошибка в Docs\png.log
а чем тебе не понравилась версия без Docs\png.log, которую я тебе делал?


Добавлено:

Цитата:
то как сделать чтобы появлялось соответствующее сообщение об этом и стояла пауза
сообщение появляется, паузу после него сам и впиши.
Автор: TolikLes
Дата сообщения: 28.03.2010 10:06
Пусть имеется текстовый файл protokol.txt, в котором хранится журнал обработанных файлов в следующем формате:
Имя:    file1.txt    Дата:    02.01.2001    Время:    14:50
Имя:    file22.txt    Дата:    03.02.2001    Время:    23:50
Имя:    letter2.txt    Дата:    02.01.2001    Время:    12:00
Имя:    soft.txt    Дата:    10.01.2000    Время:    13:00


Слово дата здесь начинается в каждой строке с двадцатой позиции. Необходимо написать командный файл, с помощью которого сделать вы¬борку из этого файла (т. е. создать новый текстовый файл с нужной ин¬формацией) за заданный в командной строке месяц (мм) и год (гггг) в файл out.txt, сформированный файл упорядочить по дате обработки. Нужные месяц и год указать как параметры командной строки.
Если пакетный файл запуска¬ется вообще без параметров, то вывести описание его синтаксиса.

Помогите пожалуйста с заданием,буду очень благодарен.....
Автор: wolf0425
Дата сообщения: 28.03.2010 11:46

Цитата:
Помогите пожалуйста с заданием,не могу понять как сделать сортировку в FOR по 20-му символу
наверно ты вот это спрашиваешь:

Код: for /f "delims=" %%a in ('type protokol.txt') do set "str=%%a" & call :proc %%a

exit

:proc
echo.%str:~20,18% - c 20й позиции
echo.%4 -четвертая колонка протокола
goto:eof

Автор: lorents
Дата сообщения: 28.03.2010 11:50
wolf0425

Цитата:
а чем тебе не понравилась версия без Docs\png.log, которую я тебе делал?

не то чтобы не понравилось, он просто не работал, я забыл об этом сказать
там ошибка у pngout

Цитата:
"D:\Прочее\Image" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Invalid filter

и далее идет справка pngout

Цитата:
сообщение появляется, паузу после него сам и впиши.

если я пишу

Код: if not defined png echo Not found: Images\*.png Images\*.jpg Images\*.jpeg
pause>nul
Автор: wolf0425
Дата сообщения: 28.03.2010 12:02

Цитата:
там ошибка у pngout

pngout там уже после того места, где нужен лог.
и если ругается на pngout - его лечить и надо.
в варианте с логом у тебя батник точно правильно работает?


Цитата:
то эта пауза действует на png
это неверно, до этой проверки доходит только в том случае если фалов .jpg нету.




Автор: lorents
Дата сообщения: 28.03.2010 12:09
wolf0425

Цитата:
в варианте с логом у тебя батник точно правильно работает?

ага, вот как раз сейчас тестирую, все работает

Цитата:
это неверно, до этой проверки доходит только в том случае если фалов .jpg нету.

так точно, а если в папке Images или ее подпапках только png, то у меня выходит пауза
Автор: 01MDM
Дата сообщения: 28.03.2010 12:43
lorents

Цитата:
не подскажите, tasklist.exe есть во всех версиях windows vista и windows 7?

Не знаю. В 7 Home Premium и выше точно есть, но будут ли они работать в XP не уверен.
Автор: lorents
Дата сообщения: 28.03.2010 12:52
01MDM

Цитата:
Не знаю. В 7 Home Premium и выше точно есть, но будут ли они работать в XP не уверен.

я просто думаю сделать, для XP использовать tasklist.exe версии XP pro, а для windows vista и windows 7 использовать их родные
Автор: wolf0425
Дата сообщения: 28.03.2010 14:54

Цитата:
if not defined png echo Not found: Images\*.png Images\*.jpg Images\*.jpeg
pause>nul

lorents, ты паузу не туда воткнул, если не хотел чтобы батник вставал на паузу и при наличии файлов

Код: if not defined png (echo Not found: Images\*.png Images\*.jpg Images\*.jpeg & pause>nul )
Автор: lorents
Дата сообщения: 28.03.2010 15:17
wolf0425

Цитата:
ты паузу не туда воткнул, если не хотел чтобы батник вставал на паузу и при наличии файлов

спасибо:smile:

Цитата:
- не работает как раз сейчас? :)

только что еще раз сделал, не работает, я думаю это из-за того что png.log выглядит так

[more]
Цитата:
OptiPNG 0.6.4: Advanced PNG optimizer.
Copyright (C) 2001-2010 Cosmin Truta.

** Processing: D:\Прочее\Image Optimizer\Images\1.PNG
979x758 pixels, 3x8 bits/pixel, RGB
Input IDAT size = 133556 bytes
Input file size = 133710 bytes

Trying:
zc = 9 zm = 9 zs = 0 f = 0        IDAT size = 105473
zc = 9 zm = 8 zs = 0 f = 0        IDAT size = 105304
zc = 9 zm = 7 zs = 0 f = 0        IDAT size = 105046
zc = 9 zm = 6 zs = 0 f = 0        IDAT size = 105222
zc = 9 zm = 5 zs = 0 f = 0        IDAT size = 105711
zc = 9 zm = 4 zs = 0 f = 0        IDAT size = 106830
zc = 9 zm = 3 zs = 0 f = 0        IDAT size = 108737
zc = 9 zm = 2 zs = 0 f = 0        IDAT size = 111745
zc = 9 zm = 1 zs = 0 f = 0        IDAT size = 116067
zc = 8 zm = 9 zs = 0 f = 0        IDAT size = 108561
zc = 8 zm = 8 zs = 0 f = 0        IDAT size = 108405
zc = 8 zm = 7 zs = 0 f = 0        IDAT size = 108145
zc = 8 zm = 6 zs = 0 f = 0        IDAT size = 108296
zc = 8 zm = 5 zs = 0 f = 0        IDAT size = 108781
zc = 8 zm = 4 zs = 0 f = 0        IDAT size = 109933
zc = 8 zm = 3 zs = 0 f = 0
[/more]

это еще не весь файл, для его полного создания требуется не мало времени, в зависимости от разрешения картинки
Автор: JI063uk
Дата сообщения: 28.03.2010 19:55
Помогите с проблемой. Необходим батник который будит в txt файле начинать каждое слово с новой строки. Т.е. место пробела ставить enter
Автор: 01MDM
Дата сообщения: 29.03.2010 04:20
JI063uk

Код:
@echo off

for /f "tokens=*" %%i in (1.txt) do (
    for %%j in (%%i) do echo %%j
)
Автор: JI063uk
Дата сообщения: 29.03.2010 10:33
01MDM
Спасиб. То что надо
Автор: mugil_cephalus
Дата сообщения: 29.03.2010 11:59
у кого win 5.1 eng покажите из hh ntcmds.chm::/dir.htm вот этот кусок
/t [[:]поле_времени]
Задание поля времени для вывода и сортировки. Ниже приведен список значений, которые могут быть использованы при задании параметра поле_времени. Значение Описание
c Создание
a Последнее обращение
w Последняя запись
Автор: wolf0425
Дата сообщения: 29.03.2010 12:02
mugil_cephalus
Код: /t [[:]TimeField]
Specifies which time field to display or use for sorting. The following list describes each of the values you can use for TimeField. Value Description
c Creation
a Last access
w Last written
Автор: ustas1983
Дата сообщения: 29.03.2010 15:10
Ребят подскажите можно как нибудь создать такой батник чтобы ВПНовский интефейс он мог щёлкать когда пинг пропадает и идёт долбанный - превышен интервал ожидания ... у меня сейчас консольное окно в ней постоянно идёт пинг до ресурса когда он пропадает я переподключаю ВПН деманд диал ибо тупой РАС походу это делать не умеет, то есть коннект жив но пакеты почему то перестают идти и только перещёлк помогает (((( Сказали что пример есть тут ткните носом плзз
Автор: TolikLes
Дата сообщения: 29.03.2010 17:27
Пусть имеется текстовый файл protokol.txt, в котором хранится журнал обработанных файлов в следующем формате:
Имя:    file1.txt    Дата:    02.01.2001    Время:    14:50
Имя:    file22.txt    Дата:    03.02.2001    Время:    23:50
Имя:    letter2.txt    Дата:    02.01.2001    Время:    12:00
Имя:    soft.txt    Дата:    10.01.2000    Время:    13:00


Слово дата здесь начинается в каждой строке с двадцатой позиции. Необходимо написать командный файл, с помощью которого сделать вы¬борку из этого файла (т. е. создать новый текстовый файл с нужной ин¬формацией) за заданный в командной строке месяц (мм) и год (гггг) в файл out.txt, сформированный файл упорядочить по дате обработки. Нужные месяц и год указать как параметры командной строки.
Если пакетный файл запуска¬ется вообще без параметров, то вывести описание его синтаксиса.

Помогите пожалуйста с заданием,буду очень благодарен.....
Автор: 01MDM
Дата сообщения: 30.03.2010 05:30

Цитата:
Помогите пожалуйста с заданием


Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132

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


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