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

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

Автор: us0r
Дата сообщения: 26.06.2010 18:12
jek1976
На диск C:
ЗЫ: Надеюсь у тебя системы на базе NT- семейства (с поддержкой NTFS)?
Автор: res2001
Дата сообщения: 26.06.2010 18:25
lorents

Код: if defined png if "%png%" neq "1" if "%png%" neq "2" (
echo.
echo Вы указали неправильное значение параметра оптимизации/сжатии картинок. & goto:loop1
)
set png=100
Автор: lorents
Дата сообщения: 26.06.2010 18:34
res2001
сделал, код оптимизации картинок png не запускается
Автор: res2001
Дата сообщения: 26.06.2010 18:44
lorents

Цитата:
сделал, код оптимизации картинок png не запускается

точно, лоханулся

Код: if not defined png set png=100
Автор: lorents
Дата сообщения: 26.06.2010 19:21
res2001
получилось, спасибо
Автор: wolf0425
Дата сообщения: 26.06.2010 19:27

Цитата:
wolf0425
полтергейст какой-то
из-под FAR команда "cd /d <путь к каталогу>" выдает ошибку, в чистом cmd проходит на ура.
Я был все время уверен, что FAR для выполнения команд использует cmd. Похоже что нет.
использует, но только для некоторых
какое-то время назад я задумался - а не дофига ли у ФАРа стало встроенных команд и не пора ли мне уже приучаться любой набор внешней команды начинать с пробела
Автор: lorents
Дата сообщения: 26.06.2010 19:49
res2001
пока тестировал наткнулся на еще один баг в отчете
если исходная картинка на много больше оптимизированной, то он не заносится в отчет
Автор: jek1976
Дата сообщения: 26.06.2010 20:07
us0r

Цитата:
Надеюсь у тебя системы на базе NT- семейства (с поддержкой NTFS)?

Йес.
Автор: res2001
Дата сообщения: 26.06.2010 20:12
lorents

Цитата:
если исходная картинка на много больше оптимизированной, то он не заносится в отчет

На сколько больше? Приведи пример размеров исходной и оптимизированной.
wolf0425

Цитата:
а не дофига ли у ФАРа стало встроенных команд и не пора ли мне уже приучаться любой набор внешней команды начинать с пробела

пожалуй
Автор: jek1976
Дата сообщения: 26.06.2010 20:31
us0r
Цитата:
При каждом старте копируются профили из папки backup для данного юзверя...

Так получается, что ВСЕ профили так и будут присутствовать на машине? Мне же надо их удалять в зависимости от того, синхронизированы они или нет...
Автор: lorents
Дата сообщения: 26.06.2010 20:40
res2001

Цитата:
На сколько больше? Приведи пример размеров исходной и оптимизированной.

исходный размер в кб, а оптимизированный в байтах
Автор: res2001
Дата сообщения: 26.06.2010 20:52
lorents
ну возьми калькулятор и посчитай процент.
например:
исходный=100Кб
оптимизированный=500байт
процент=500/100000*100=0,5%
Ну и выведет тебе .5 - т.е. 0.5% Если соотношение будет меньше, то может и ничего не вывести. Ты же сам хотел точность до одного знака после запятой.


Добавлено:
Я и не посмотрел, что ты поменял процедуру расчета.
Щаз потестирую ее.

Добавлено:
lorents

Цитата:
если исходная картинка на много больше оптимизированной, то он не заносится в отчет

И что, действительно не заносится в отчет? Даже имя файла?
Значит не вызывается call :savelog по какой-то причине.
Автор: lorents
Дата сообщения: 26.06.2010 21:21
res2001
не заносится, ладно это не так критично
спасибо
Автор: res2001
Дата сообщения: 27.06.2010 10:37
lorents

Цитата:
не заносится, ладно это не так критично

это может быть достаточно критично.
Судя по всему какая-то из программ обработчиков, возможно, завершается с ошибкой и завершает батник, т.е. и все остальные файлы в очереди, возможно, не обрабатываются.
В процедуре, в которой происходит обработка, поставь echo после каждой команды обработки, по выводу можно увидеть на какой стадии затык и что-нибудь предпринять.
Автор: lorents
Дата сообщения: 27.06.2010 11:27
res2001

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

я понял в чем дело, все из последней ячейки, там где проценты, стоит его убрать и все заносится. и это правильно если процент равен 0,4%, то он и не может занести
Я убрал твой способ расчета знака после запятой, т.к. если файл не оптимизировался, т.е. размер остался прежним, то он выводил, что процент равен 99,5%.

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

и еще одна просьба, как сделать чтобы в отчете первая строчка имела такие ячейки
File name
Original Size
Output Size
Change in Bytes
% of Original

Помоги пожалуйста
Автор: mugil_cephalus
Дата сообщения: 27.06.2010 11:58
а у jek1976 наверное есть wmi

Код: wmic useraccount where status="ok" get name /value
Автор: wolf0425
Дата сообщения: 27.06.2010 12:11

Цитата:
пока тестировал, нашел еще один баг,
если в имени файла есть кириллица, то она заносится в отчет непонятными символами.
здасьте, дос-кодировка вдруг стала непонятными символами
не нравится 866 - переключи кодировку на 1251, кто же тебе доктор...
Автор: lorents
Дата сообщения: 27.06.2010 12:19
wolf0425
отчет создается динамически, и поэтому это должен делать batch
Автор: wolf0425
Дата сообщения: 27.06.2010 14:07

Цитата:
отчет создается динамически, и поэтому это должен делать batch
ну так и делай, какие видятся проблемы то - в виндовую кодировку переключить вывод?

Автор: lorents
Дата сообщения: 27.06.2010 20:46
wolf0425
а можно пример
Автор: wolf0425
Дата сообщения: 27.06.2010 20:55

Цитата:
а можно пример
пример чего? команды chcp 1251 ?
@echo off
1>nul chcp 1251
1>file.txt (
echo печатаем имена в виндовой кодировке
dir /b
)
сам батник понятно тоже пишется в виндовой,
если шрифт консоли до сих пор почему-то терминал - переключить на люсиду.
Автор: Altus
Дата сообщения: 27.06.2010 23:12
Как получить дату-время в заданном формате, НО в 7 досе от 98 венды? В переменную конечно же, и без использования временных файлов.
В переменной должно оказаться что то вроде: 201006280005
У меня все идеи кончились.
Автор: igor_andreev
Дата сообщения: 28.06.2010 00:53
Altus
А чем тебе временные файлы помешали? В чистом досе вроде только с их использованием...
Автор: wolf0425
Дата сообщения: 28.06.2010 00:58

Цитата:
в 7 досе от 98 венды? В переменную конечно же, и без использования временных файлов.
в рамках батника - никак, язык там очень уж примитивный был.
а вообще - пишешь на си/паскале собственную утилиту, которая лезет в родительский енвайронмент и добавляет переменную, прикладываешь её к батнику.


Автор: res2001
Дата сообщения: 28.06.2010 07:56
lorents

Цитата:
File name
Original Size
Output Size
Change in Bytes
% of Original

добавь после определения перемененой logfile строчку
echo File name;Original Size;Output Size;Change in Bytes;% of Original >>%logfile%
Автор: lorents
Дата сообщения: 28.06.2010 10:27
res2001
можно по подробнее?
Автор: res2001
Дата сообщения: 28.06.2010 10:42
lorents

Цитата:
можно по подробнее?


Код: set logfile=Images.csv
echo File name;Original Size;Output Size;Change in Bytes;% of Original >>%logfile%
Автор: BVV63
Дата сообщения: 28.06.2010 10:46
Приветствую. Вопрос, наверное, глупый, но всё равно. Никто не слахал об каком-либо отладчике для "батаники"? Любительского изготовления, понятно... А то, бывает, строишь конструкции из 3-х - 4-х уровней по паре страниц текста, нифига не работает, а ты по-полчаса нич-чо понять не можешь. Понемногу упрощаешь конструкцию, ищешь ошибку, но на это уж больно много времени уходит.
Автор: lorents
Дата сообщения: 28.06.2010 11:01
res2001

Цитата:
set logfile=Images.csv
echo File name;Original Size;Output Size;Change in Bytes;% of Original >>%logfile%

не выходит, это сообщение просто является в запущенном батнике

Цитата:
на счет кодировки: как писал wolf0425 поставь второй командой в батнике

сделал, работает, спасибо
Автор: gryu
Дата сообщения: 28.06.2010 11:04
Ох, ребята. Спасибо всем кто откликнулся.
Сейчас навалилось куча проблем и стало несколько не до этого.
Я тогда как разберусь, опробую ваши советы и отпишусь.
Спасибо ещё раз.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132

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


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