Насколько я понял требования к задаче, код для использования в командном файле %ProgramFiles%\CorelDRAW X4\Programs\CorelFile.bat
:
@echo off
if "%~1" == "" goto :EOF
"%ProgramFiles%\CorelDRAW X4\Programs\CorelDRW.exe" %*
for %%I in (%*) do if exist %%I copy /Y "%%~I" "%%~dpnI.sav" >nul
Этот пакетный файл должен быть связан с расширением файла .cdr
, например, путем импорта следующего файла реестра в Windows XP и более поздних версиях Windows с правами администратора:
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.cdr]
@="CorelDrawFile"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CorelDrawFile]
@="Corel Draw Image"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CorelDrawFile\DefaultIcon]
@=hex(2):22,25,50,72,6f,67,72,61,6d,46,69,6c,65,73,25,5c,43,6f,72,65,6c,44,52,\
41,57,20,58,34,5c,50,72,6f,67,72,61,6d,73,5c,43,6f,72,65,6c,44,52,57,2e,65,\
78,65,22,2c,30,00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CorelDrawFile\shell\open\command]
@=hex(2):22,25,50,72,6f,67,72,61,6d,46,69,6c,65,73,25,5c,43,6f,72,65,6c,44,52,\
41,57,20,58,34,5c,50,72,6f,67,72,61,6d,73,5c,43,6f,72,65,6c,46,69,6c,65,2e,\
62,61,74,22,20,22,25,31,22,00
Также возможно зарегистрировать расширение файла .cdr
с абсолютными путями с REG_SZ
вместо использования REG_EXPAND_SZ
и %ProgramFiles%
в путях.
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.cdr]
@="CorelDrawFile"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CorelDrawFile]
@="Corel Draw Image"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CorelDrawFile\DefaultIcon]
@="\"C:\\Program Files\\CorelDRAW X4\\Programs\\CorelDRW.exe\",0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CorelDrawFile\shell\open\command]
@="\"C:\\Program Files\\CorelDRAW X4\\Programs\\CorelFile.bat\" \"%1\""
Проводник Windows вызывает для каждого выбранного * .cdr файла пакетный файл, используя контекстное меню Открыть соответственно при двойном щелчке по одному * .cdr файлу.
Пакетный файл запускается Corel Draw , причем все аргументы, передаваемые пакетному файлу, передаются в Corel Draw . Обычно это просто имя файла * .cdr с полным путем и расширением файла, заключенными в двойные кавычки.
После завершения Corel Draw пакетный файл проверяет наличие каждого файла, указанного в качестве аргумента командной строки, и копирует файл с тем же именем в тот же каталог с другим расширением файла .sav
.
Пакетный файл предназначен для запуска с несколькими именами файлов * .cdr, указанными в качестве аргументов в командной строке. Я не знаю, поддерживает ли Corel Draw несколько файлов * .cdr, указанных в командной строке.
Чтобы понять используемые команды и то, как они работают, откройте окно командной строки, выполните там следующие команды и полностью прочитайте все страницы справки, отображаемые для каждой команды.
call /?
... объясняет %*
(пакетный файл) и %1
(реестр Windows).
copy /?
echo /?
for /?
if /?