Страница 8 из 88
Добавлено: Пт авг 13, 2010 18:07
HA3APET
ask-rus писал(а):Имеем скрипт для создания ярлыка на рабочий стол для текущего пользователя:
<…>
Необходимо улучшить скрипт для создания ярлыков для нескольких выделенных в TC файлов и папок.
Это не главное, надо его усовершенствовать, так что бы в свойствах lnk ещё и рабочая папка была прописана, иначе имеем кучу разнообразных глюков. То есть можно считать такие lnk не рабочими, а следовательно и скрипт.
В усовершенствованном скрипте Batya, тот же косяк.
У меня lnk на раб стол создаются так, и рабочая папка естественно прописывается.
Код: Выделить всё
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\nircmdc.exe
shortcut %P%N "~$folder.desktop$" "%O"
%COMMANDER_PATH%\Icons\lnk.ico
Создать ярлык на рабочем столе файла или папки под курсором
-1
Но к сожалению для одного файла под курсором, а не для выделенных файлов. Может можно усовершенствовать?
[mod="CaptainFlint"]Оверквотинг удалён.[/mod]
Добавлено: Пт авг 13, 2010 21:09
Tol!k
HA3APET, попробуй
Код: Выделить всё
@echo off &chcp 1251 >nul
rem Создание ярлыков на рабочем столе для выделенных файлов/папок
rem Используется NirCmd
rem Параметры: %L
setlocal enableextensions
for /f "usebackq delims=" %%n in ("%~1") do call :n "%%n" "%%n."
goto :eof
:n
set "n=%~1"
if "%n:~-1%"=="\" (
"%COMMANDER_PATH%\nircmdc.exe" shortcut "%n:~0,-1%" "~$folder.desktop$" "%%~n2"
) else "%COMMANDER_PATH%\nircmdc.exe" shortcut %1 "~$folder.desktop$" "%%~n1"
Не проверял
Добавлено: Пт авг 13, 2010 23:06
Batya
HA3APET писал(а):надо его усовершенствовать, так что бы в свойствах lnk ещё и рабочая папка была прописана
ОК. Сделал. Так подойдёт?
Добавлено: Сб авг 14, 2010 09:27
ask-rus
Batya писал(а):ОК. Сделал. Так подойдёт?
Рабочая пишется, подойдет.
Имеем кнопки:
Создать каталог > Новая папка, Новая папка (2) и т.д.
Создать файл > Текстовый документ.txt, Текстовый документ (2).txt и т.д.
Создать ярлык на Рабочий стол > Файл.lnk
Для завершения картины необходимы ещё две:
1. Бэкап выделенных в TC файлов (в текущий каталог, копии файлов с расширением *.bak), где-то была... Если знаете, ткните.
2. Копии выделенных в TC файлов и папок (в текущий каталог, Файл.txt > Копия Файл.txt, Каталог > Копия Каталог, расширения у файлов не меняются).
Добавлено: Сб авг 14, 2010 09:51
HA3APET
Batya
Спасибо, всё отлично работает.
Добавлено: Сб авг 14, 2010 13:01
LocKtaR-o-DarK
ask-rus писал(а):1. Бэкап выделенных в TC файлов (в текущий каталог, копии файлов с расширением *.bak), где-то была... Если знаете, ткните.
тык
Добавлено: Сб авг 14, 2010 15:01
ask-rus
LocKtaR-o-DarK
Простой вариант:
Код: Выделить всё
TOTALCMD#BAR#DATA
cmd /c title Копия... &
copy %S1 %S1.bak
totalcmd.exe,9
Создать бекап файла
1
Более продвинутый вариант, позволяет копировать файл под курсором с любыми атрибутами и т.д.:
Код: Выделить всё
TOTALCMD#BAR#DATA
cmd /c title Копия... &
(echo f|xcopy/y/c/h/r/k/g/z %S1 "%O_.%E")
totalcmd.exe,9
Копия оригинала
1
Для группы выделенных файлов:
Код: Выделить всё
TOTALCMD#BAR#DATA
cmd /c title Копия... &
for %%U in (%S) do echo f|xcopy/y/c/h/r/k/g/z %%U "%%~nU_%%~xU"
totalcmd.exe,9
Копия оригинала
1
Это то, что у тебя есть.
Нужна кнопка бэкапа группы выделенных файлов (последний вариант), но с дополнительным расширением *.bak (первый вариант), а не "_" после имени. В общем, совместить 1 и 3 коды.
Добавлено: Сб авг 14, 2010 16:48
Tol!k
Пожалуйста, в специальную тему:
Поточный бэкап файлов - папок
Добавлено: Вт авг 17, 2010 17:11
ask-rus
Вернемся к
MultiUPX.bat от
MVV:
Код: Выделить всё
@echo off
:loop
if -%1==- pause && cls && goto :EOF
"%COMMANDER_PATH%\SOFT\UPX\upx.exe" --best --lzma --compress-icons=0 %1
shift
goto loop
Как быть с пробелами в именах? Сегодня попался-таки такой экзешник - не пакует.
Добавлено: Чт авг 19, 2010 13:37
LocKtaR-o-DarK
ask-rus
хорошо, распишу подробнее:
добавление расширения .bak к имени файла с расширением для выделенных объектов в панели
Код: Выделить всё
TOTALCMD#BAR#DATA
cmd /c title Копия... &
for %%U in (%S) do echo f|xcopy/y/c/h/r/k/g/z %%U "%%~nU_%%~xU.bak"
totalcmd.exe,9
Копия оригинала
1
только к имени файла
Код: Выделить всё
TOTALCMD#BAR#DATA
cmd /c title Копия... &
for %%U in (%S) do echo f|xcopy/y/c/h/r/k/g/z %%U "%%~nU.bak"
totalcmd.exe,9
Копия оригинала
1
работа с
UPX, проблем с именами не было...
Добавлено: Чт авг 19, 2010 14:37
ask-rus
LocKtaR-o-DarK
Работают. Первый вариант - мой вариант. Неплохо бы перенести оба в
копилку.
LocKtaR-o-DarK писал(а):работа с UPX, проблем с именами не было...
Там файл под курсором, а тут пакетная упаковка всех выделенных.
Пытался переделать и ничего не вышло, не могу понять принцип для кнопки:
Файл.ico > Копия Файл.ico
Копия Файл.ico > Копия Копия Файл.ico
Добавлено: Пт авг 20, 2010 20:48
ask-rus
Дошло:
%%~nU - имя;
%%~xU - расширение.
Получил:
Код: Выделить всё
TOTALCMD#BAR#DATA
cmd /c title Копия... &
for %%U in (%S) do echo f|xcopy/y/c/h/r/k/g/z %%U "Копия %%~nU%%~xU"
totalcmd.exe,9
Копия файла
1
-1
Добавлено: Сб авг 21, 2010 00:56
Serge Yolkin
ask-rus
Модификации переменных вида %~... описаны в спрвке к команде for
Кстати, это верно и для обработки параметров командной строки %1... кроме %*
Добавлено: Сб авг 28, 2010 15:57
ask-rus
Имеем кнопку создания списка файлов в текущую панель с дозаписью:
Код: Выделить всё
TOTALCMD#BAR#DATA:
%comspec%
/c type %L>>"filelist.lst"
shell32.dll,134
Создать список файлов c дозаписью
1
-1
Необходимо, чтобы очередная дозапись происходила после пропущенной строки, пример:
filelist.lst писал(а):d:\Pictures\Full HD_1\00040_flying_1920x1200.jpg
d:\Pictures\Full HD_1\00093_baldeagle_2560x1600.jpg
d:\Pictures\Full HD_1\00144_rose_2560x1600.jpg
d:\Pictures\Full HD_1\00146_whiterose_2560x1600.jpg
d:\Pictures\Full HD_1\00227_blingbling_2560x1600.jpg
d:\Pictures\Full HD_1\00235_thebluemarble_1920x1200.jpg
d:\Pictures\Full HD_1\00241_daito_1600x1200.jpg
d:\Pictures\Full HD_1\00244_tracks_1920x1200.jpg
d:\Pictures\Full HD_1\00261_smartos_2560x1600.jpg
Таким образом легче ориентироваться по спискам.
Добавлено: Сб авг 28, 2010 16:41
Tol!k
ask-rus
Параметры:
Код: Выделить всё
/c (if exist "filelist.lst" echo,>>"filelist.lst")&type %L>>"filelist.lst"