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

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

Автор: wolf0425
Дата сообщения: 08.06.2011 13:40

Цитата:
у меня пишет: Синтаксическая ошибка в имени файла, имени папки или метке тома.

путь к папке WinRAR свой впиши, да?
Автор: Yabuce
Дата сообщения: 08.06.2011 13:45
res2001,

У меня такой путь и есть, папка "test" лежит на диске С а в ней папка "Прочти меня".

Ваш код всё равно не работает, ошибка вот такая вылазит:


Цитата:
"'" не является внутренней или внешней командой, исполняесой программой или пакетным файлом.
Автор: res2001
Дата сообщения: 08.06.2011 13:48
Yabuce

Цитата:
"'" не является внутренней или внешней командой, исполняесой программой или пакетным файлом.

Ну да, одинарные кавычки там лишние.
Подправил код в прошлом посте, обнови.
Автор: Yabuce
Дата сообщения: 08.06.2011 13:49
wolf0425

Цитата:
путь к папке WinRAR свой впиши, да?


Вот это я вообще не понял, почему со знаком вопроса?
Путь к винрару у меня правильный, так как изначальный код, который я здесь просил доработать у меня работает.

Добавлено:
res2001,

Так, уже кое-что: код пакует файлы и добавляет в корень каждого архива файлы из папки, но папку внутри не создает. Но это случается когда в пути к папке "Прочти меня" и в названии самой папки нет русских букв.

А можно сделать так чтобы внутри каждого архива был собственно файл mp3, а так же папка "Прочти меня" русскими буквами, а в ней уже доп файлы.

У меня коммандная строка русские буквы переделывает в кракозябры и по ходу отказывается с ними работать. Это как-то можно настроить, чтоб работало?
Автор: res2001
Дата сообщения: 08.06.2011 14:11
Yabuce

Цитата:
А можно сделать так чтобы внутри каждого архива был собственно файл mp3, а так же папка "Прочти меня" русскими буквами, а в ней уже доп файлы.

Дык ты же сам прописал ключик -ep к команде, он то и исключает пути из архива: rar /?

Добавлено:

Цитата:
У меня коммандная строка русские буквы переделывает в кракозябры и по ходу отказывается с ними работать. Это как-то можно настроить, чтоб работало?

Проверь чтоб бат файл был сохранен в кодировке 866, тогда с русскими буквами должно быть все нормально, если в батнике нет команды chcp, устанавливающей другую кодировку. В этом случае батник надо сохранять в кодировке, указанной в chcp.

Автор: Yabuce
Дата сообщения: 08.06.2011 14:18
res2001,

Ураааааааааааааа! Заработало!!!!!!!!
Как надо!!!!!!!!!!!

Спасибо огромное всем кто учавствовал, но особенно res2001 , очень сильно помогли!!!!!!!!!!!
Автор: res2001
Дата сообщения: 08.06.2011 14:32
Engraf

Цитата:
А это как работает? Типа без разделителей?

Типа да, т.е. вся строка присваивается одной переменной.
Автор: lorents
Дата сообщения: 08.06.2011 17:31
Добрый день!
Все вы знаете мой проект по оптимизации изображений, сейчас возник такой вопрос, можно ли через bat добавить поддержку оптимизации нескольких изображений одновременно?
Автор: wolf0425
Дата сообщения: 08.06.2011 17:43

Цитата:
можно ли через bat добавить поддержку оптимизации нескольких изображений одновременно?
и куда их надо добавить? и зачем?
одновременность оптимизации нескольких картинок точно не добавит процессу скорости, но точно добавит мест для написания глючного кода.

А вообще запустить в одном окне консоли несколько параллельно работающих процессов - в общем-то несложно, как определишься с тем что тебе нужно делать одновременно (и главное почему одновременно а не последовательно) - пиши...
Автор: lorents
Дата сообщения: 08.06.2011 17:58
wolf0425

Цитата:
одновременность оптимизаиции нескольких картинок точно не добавит процессу скорости.

увеличивает, я тестировал у себя, результаты впечатляют. я хочу сделать возможность параллельной оптимизации нескольких изображений в свой проект.

у меня при оптимизации одного изображения запускаются последовательно несколько приложений, я хочу сделать, чтобы это цикл проходило не одно изображение, а два и более изображение параллельно, независимо друг от друга.
Автор: res2001
Дата сообщения: 08.06.2011 20:23
lorents
Надо выделить процедуру обработки в отдельный батник или в отдельную процедуру, в основном батнике должно остаться только выбор файлов, выбор действий и запуск обработки.
Запускать батник с обработкой командой start с параметрами имя файла и способ обработки. Этот батник будет работать в отдельном окне, т.е. в отдельном процессе, пока он работает управление сразу возвращается в основной батник, который начинает запускать обработку следующего файла и т.д.
Чтоб скрыть окно обработчика, можно заюзать cmdow или скрипт на vbs для запуска нового процесса в скрытом окне.
Так же думаю понадобится отслеживать, когда же у тебя закончится обработка файлов.
Можно попробовать поиграться со start /b - тогда других окон не будет, но в основном окне будет мешанина. Вобщем страшное дело

На самом деле сильно подумай, стоит ли овчинка выделки, потому что параллельная обработка - это та еще песня.
Автор: lorents
Дата сообщения: 08.06.2011 20:43
res2001

Цитата:
На самом деле сильно подумай, стоит ли овчинка выделки, потому что параллельная обработка - это та еще песня.

То что это нужно - точно, но вот способ ее реализации...
Автор: res2001
Дата сообщения: 08.06.2011 22:10
lorents
Способ я описал.
Автор: Roy_Focker
Дата сообщения: 09.06.2011 15:54
Достаточно простая задача, но при помощи поиска и FAQ решить ее не удалось.

Есть фолдер с большим количиством подфолдеров в которых содержатся еще большее количество файлов. Так же имеется список ЧАСТЕЙ имен файлов в виде txt, которые необходимо скопировать из исходного фолдера в фолдер указанный пользователем.
Т.е. список выгляди примерно как

blah-blah
blah-blah-blah
...

На деле же файл называется "blah-blah_12345_sdfsfs.pdf"

Скопировать необходимо все файлы, содержащие часть имени из исходного списка.

Автор: Nagual
Дата сообщения: 09.06.2011 16:29
Roy_Focker
структура файлов сохраняется или все файлы в одну папку?
что делать, если такой файл уже существует?
Автор: Roy_Focker
Дата сообщения: 09.06.2011 16:48
Файлы можно скинуть в одну папку, то есть структура не важна.
Если файл существует, то делаем замену.

Спасибо!!!
Автор: Nagual
Дата сообщения: 09.06.2011 17:35
Roy_Focker
Код:
set "s=source"
set "d=destin"
set "l=list.txt"
for /f "delims=" %%a in (%l%) do dir/b/s "%s%\%%a*">>"%tmp%\tmp.lst"
for /f "delims=" %%a in (%tmp%\tmp.lst) do @echo copy/y "%%a" "%d%"
del/q "%tmp%\tmp.lst"
Автор: wolf0425
Дата сообщения: 09.06.2011 17:36
Roy_Focker как-то так:

Код: for /r %%a in ( "source dir\*.*" ) do echo.%%~nxa|findstr /i /g:filelist.txt 1>nul && copy /y /b "%%~a" "c:\dest dir\"
Автор: ndch
Дата сообщения: 10.06.2011 13:56
как совместить 2 cmd в один ?

FOR %%i IN (*.pdf) DO (i_view32 %%i /killmesoftly /extract=(tempklo\tempklo,gif))

и

FOR %%i IN (tempklo\tempklo\*.gif) DO (i_view32 tempklo\%%~ni%%~xi /crop=(32,111,1410,1080) /convert=succ\%%~ni.jpg)
del /s /q tempklo\tempklo
Автор: res2001
Дата сообщения: 10.06.2011 14:15
ndch
все это в одном файле, на разных строках.
Автор: ndch
Дата сообщения: 10.06.2011 14:17
res2001
а Вы попробуйте:

Код: Непредвиденное появление: ).
Автор: res2001
Дата сообщения: 10.06.2011 14:37
ndch
попробуй перед скобками поставить экранирующий символ, должно получиться так: ^( ... ^)
Автор: ndch
Дата сообщения: 10.06.2011 14:40
res2001
теперь другая беда:

Код: "(i_view32" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Автор: res2001
Дата сообщения: 10.06.2011 14:57
ndch
i_view32.exe не доступна для запуска из каталога, где лежит батник.
Проще всего прописать в батнике полный путь к ней.
Если путь с длинными именами, не забудь взять в кавычки.
Автор: ndch
Дата сообщения: 10.06.2011 15:33
res2001
доступна.
ругается на "(i_view32" , а не на "i_view32".

Добавлено:

Цитата:
Проще всего прописать в батнике полный путь к ней

Полные пути - плохое решение.
Накрайняк уж путь через переменную.
Автор: res2001
Дата сообщения: 10.06.2011 15:53
ndch

Цитата:
ругается на "(i_view32" , а не на "i_view32".

Действительно, скобку проглядел.
Ну тогда давай скрипт в студию, видимо где-то залепил ты не нужную скобку.
В приведенных примерах записи "(i_view32" нет.
Автор: ndch
Дата сообщения: 10.06.2011 16:12
res2001

Код: FOR %%i IN (*.pdf) DO i_view32 %%i /killmesoftly /extract=(tempklo\tempklo,gif)
FOR %%i IN (tempklo\tempklo\*.gif) DO i_view32 tempklo\%%~ni%%~xi /crop=(32,111,1410,1080) /convert=succ\%%~ni.jpg
del /s /q tempklo\tempklo
Автор: res2001
Дата сообщения: 10.06.2011 16:17
ndch
Работает и замечательно
Автор: wolf0425
Дата сообщения: 10.06.2011 19:44
ndch
Цитата:
Нужны ли здесь ещё скобки ? Так - работает.
ну для одной строки городить скобки вроде как незачем, а вообще если хочется со скобками, то оно должно выглядеть наверно так:

Код: FOR %%i IN (*.pdf) DO (
    i_view32 "%%~i" /killmesoftly /extract=^(tempklo\tempklo,gif^)
)
FOR %%i IN (tempklo\tempklo\*.gif) DO (
    i_view32 "tempklo\%%~ni%%~xi" /crop=^(32,111,1410,1080^) /convert="succ\%%~ni.jpg"
)
del /s /q tempklo\tempklo
Автор: lorents
Дата сообщения: 10.06.2011 19:46
Добрый день!
Подскажите, где я напортачил

Код: if %tf%==true (
    set logfile=Images.csv
    if not exist %logfile% echo File name;Original Size;Output Size;Change in Bytes;%% of Original>>%logfile%
)

Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071

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


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