Цитата:
Сообщение от Bayer
Возможно ли
|
"Невозможное возможно если верить в чудеса"
Можно прикрутить к менюхе Far Manager команду "обработать отмеченные папки".
process.cmd
Код:
set "RAWDISK=X:\"
set "JPGDISK=Y:\"
if /I "%CD%" neq "%RAWDISK%" exit
pushd "%RAWDISK%%~1" ||exit
pushd "%JPGDISK%%~1" && popd || exit
for /f "delims=" %%N in ('dir /b *.nef') do call :check "%%N" "%~1"
set "RAWDISK="
set "JPGDISK="
popd
goto :EOF
:check
if not exist "%JPGDISK%%~2\%~n1.jpg" del /q "%~1"
goto :EOF
Кладём его в корень (очищаемого) диска с RAW-файлами.
Рядом кладём farmenu.ini
Код:
C: Compare&Clean
for /f "delims=" %A in (!@!) do call process.cmd "%~A"
В .cmd меняем соответственно буквы дисков (
обязательно в верхнем регистре).
Дальше можно вызывать process.cmd непосредственно в формате
Код:
process.cmd "Имя обрабатываемой папки"
(На всякий - в FAR вставка в командную строку имени текущего объекта под курсором делается по Ctrl-Enter).
Либо помечаем в панели FAR папки для обработки (
на RAW-диске), вызываем меню FAR (кнопкой F2), выбираем пункт "Compare&Clean" и
ждём пока остынет.
Этот же process.cmd технически несложно прикрутить и в контекстное меню того же Win Explorer, но ТАКОГО я лично делать не собираюсь и другим не советую. Это
не программа, это скрипт...
В этом варианте
требуется точное совпадение имён проверяемых папок с RAW и JPG и их нахождение в корне соответствующих дисков.
Писать под это программу - неинтересно. Она будет либо существенно сложнее чем кажется - либо никому, по большому счёту, не потребуется...
P.S.
Совсем уже хак - вывод команд обработки можно перенаправить в встроенный редактор FAR, слегка изменив farmenu.ini:
Код:
C: Compare&Clean
edit: <for /f "delims=" %A in (!@!) do call process.cmd "%~A"