IPB

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  < 1 2  
Reply to this topicStart new topic
> Batch, Вопросы по .bat скриптам
feanor
сообщение 16 Feb 2017, 17:27 (Сообщение отредактировал feanor - 16 Feb 2017, 17:27)
Сообщение #21

laughed as one fey
Сообщений: 12 166
Спасибо сказали: 20581 раз




Если чо, в батниках нужно указывать два % (%% )
приду сегодня или завтра домой, посмотрю, что там у меня пилит хероеслендовские спрайтшиты.
Go to the top of the pageAdd Nick
 
+Quote Post
Iv
сообщение 16 Feb 2017, 18:33
Сообщение #22

Immortal
Сообщений: 6 260
Спасибо сказали: 12647 раз




Это я тоже пробовал
md %~n1
convert %%1 -crop 4x3@ +repage +adjoin %~n1\%d.gif


Расчлененка+.bat aniForge.png

d:\Iv\Dropbox\Soft\Grafix\Imagemagick>md aniForge

d:\Iv\Dropbox\Soft\Grafix\Imagemagick>convert %1 -crop 4x3@ +repage +adjoin
aniForge\d.gif
convert.exe: unable to open image `%1': No such file or directory @ error/blob.c
/OpenBlob/2644.
convert.exe: no decode delegate for this image format `%1' @ error/constitute.c/
ReadImage/550.
convert.exe: no images defined `aniForge\d.gif' @ error/convert.c/ConvertImageCo
mmand/3106.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
tolich
сообщение 16 Feb 2017, 19:02
Сообщение #23

😸🧡✊✌️
Сообщений: 16 000
Спасибо сказали: 2623 раза




Два процента, если имеется в виду параметр for (например, вместо %i надо писать %%i). Если же параметр батника (%1), достаточно одного процента. Имя set-переменной берётся в проценты (%PATH%).
Код
md %~n1
convert %1 -crop 4x3@ +repage +adjoin %~n1\%%d.gif


--------------------
Я слежу за тобой!
* tolic.narod.ru

Lu...pa...gamhi...dho?
Go to the top of the pageAdd Nick
 
+Quote Post
Axolotl
сообщение 16 Feb 2017, 19:04 (Сообщение отредактировал Axolotl - 16 Feb 2017, 19:04)
Сообщение #24

I must gather my party before venturing forth
Сообщений: 5 058
Спасибо сказали: 17730 раз




Цитата(Iv @ 16 Feb 2017, 22:33) *
Это я тоже пробовал
md %~n1
convert %%1 -crop 4x3@ +repage +adjoin %~n1\%d.gif


Должно работать. У меня работает. Только таки с одним %. Я уже забыл причины, но именно %1 не работает в батнике с двумя %%. Может потому, что оно для батника и предназначено?

Забавно, что я как раз сегодня днем на форуме Tiled давал совет по кропанью на кусочки именно такой командой blink.gif

А что пишет с одним процентом?

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

md "%~n1"
convert %1 -crop 4x3@ +repage +adjoin "%~n1\%d.gif"


--------------------


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
tolich
сообщение 16 Feb 2017, 19:09
Сообщение #25

😸🧡✊✌️
Сообщений: 16 000
Спасибо сказали: 2623 раза




Цитата(Axolotl @ 16 Feb 2017, 19:04) *
А что пишет с одним процентом?
Видимо, пишет последний кадр в один d.gif, вместо подстановки номера кадра или что там должно быть.


--------------------
Я слежу за тобой!
* tolic.narod.ru

Lu...pa...gamhi...dho?
Go to the top of the pageAdd Nick
 
+Quote Post
Axolotl
сообщение 16 Feb 2017, 19:10
Сообщение #26

I must gather my party before venturing forth
Сообщений: 5 058
Спасибо сказали: 17730 раз




Цитата(tolich @ 16 Feb 2017, 23:09) *
Цитата(Axolotl @ 16 Feb 2017, 19:04) *
А что пишет с одним процентом?
Видимо, пишет последний кадр в один d.gif, вместо подстановки номера кадра или что там должно быть.

Не, IM автоматом нумерует.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Iv
сообщение 16 Feb 2017, 19:32
Сообщение #27

Immortal
Сообщений: 6 260
Спасибо сказали: 12647 раз




Цитата(Axolotl @ 16 Feb 2017, 19:04) *
Цитата(Iv @ 16 Feb 2017, 22:33) *
Это я тоже пробовал
md %~n1
convert %%1 -crop 4x3@ +repage +adjoin %~n1\%d.gif


Должно работать. У меня работает. Только таки с одним %. Я уже забыл причины, но именно %1 не работает в батнике с двумя %%. Может потому, что оно для батника и предназначено?

Да, в виде convert %1 -crop 4x3@ +repage +adjoin %~n1\%d.png заработало
Спасибо


--------------------


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Iv
сообщение 17 Feb 2017, 18:31
Сообщение #28

Immortal
Сообщений: 6 260
Спасибо сказали: 12647 раз




Очередной вопрос: как заменить прозрачный фон в кадрах на белый или серый цвет при сборке превью?
Экспериментировал с

md %~n1
convert %1 -crop %2x%3@ +repage +adjoin %~n1\%d.png
mogrify -background white %~n1\*.png
convert %~n1\*.png -delay 6 +repage %~n1.gif

и
convert %~n1\*.png -fill grey -opaque cyan -delay 4 +repage out.gif

не работает


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Axolotl
сообщение 17 Feb 2017, 18:43 (Сообщение отредактировал Axolotl - 17 Feb 2017, 20:58)
Сообщение #29

I must gather my party before venturing forth
Сообщений: 5 058
Спасибо сказали: 17730 раз




Нужно убрать альфа канал после указания цвета фона -alpha off

mogrify -background white -alpha off %~n1\*.png


--------------------


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Throutle
сообщение 30 Apr 2020, 12:46
Сообщение #30

Freedom Fighter
Сообщений: 1 850
Спасибо сказали: 4014 раза




Не уверен на счёт правильности выбора темы...

Пытаюсь соорудить некий механизм для обеспечения портативности программ (в основном игр). Скрипт или софтина не важно. Может кто знает такое и я зря изобретаю велосипед? Что должно происходить:

- Копирование папки\папок\файла\файлов, лежащих рядом, по нужным местам;
- Импорт ветки\веток\записи\записей реестра;
- Запуск программы и ожидание пока она завершится;
- Копирование папки\папок\файла\файлов обратно и удаление;
- Экспорт ветки\веток\записи\записей реестра обратно и удаление;

В идеале, позже доработать логику обработки коллизий (на случай если по указанным расположениям уже есть файлы\записи), и что бы процесс работы был скрыт от пользователя.

На данный момент пытаюсь сделать это через bat, завёрнутый в vbs:

vbs будет выполняет роль оболочки, для того что бы скрыть окно консоли, как-то так:

Код
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run chr(34) &amp; "C:\script.bat" &amp; Chr(34), 1, true
Set WshShell = Nothing

(как запустить bat через относительный путь ещё не смотрел, но думаю это не будет проблемой...)

Копирование в обе стороны (я бы даже сказал синхронизация, т.к. не копирует не изменённое, копирует изменённое и удаляет удалённое) отлично реализуется через:

Код
robocopy "%CD%\folder" "%appdata%\folder" /E /Z /R:3 /W:5 /PURGE

Удаление за собой пока тоже не делал, но и тут проблем быть не должно.

А вот с реестром есть проблемы:

Код
reg import %CD%\registry.reg

Помимо не очень удобного reg как такового, есть совсем большаябеда - без повышения привилегий не хватает прав, а с повышением (что не есть проблема, т.к. вызываться будет из другой программы, лаунчера, и должно отработать наследование повышения привилегий) переменная %CD% отдаёт c:\windows\system32, т.е. расположение cmd.exe, а мне нужен динамический путь к файлу\лам reg =(


--------------------
In this wild and woolly universe of ours, there are only three things you can count on: your brains, your bros, and your bike!
Go to the top of the pageAdd Nick
 
+Quote Post
t800
сообщение 01 May 2020, 09:45 (Сообщение отредактировал t800 - 01 May 2020, 09:47)
Сообщение #31

Разработчик
Сообщений: 534
Спасибо сказали: 221 раз




Цитата(Throutle @ 30 Apr 2020, 15:46) *
Может кто знает такое и я зря изобретаю велосипед?


Ну мы - к примеру - для игр используем NSIS


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post

2 страниц V  < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 28 March 2024 - 14:48
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика