Как использовать переменную, чтобы получить текущий путь к каталогу правильно? Попытка запустить антивирусный сканер для сканирования текущего каталога из контекстного меню

Я могу использовать переменную %CD% запустить антивирусный сканер командной строки для сканирования текущего каталога из командной строки, как это.

C:\AVPTool\AVPTool.exe SCAN %CD% /R:KAVSCANLOG.txt

Я хотел бы использовать его из контекстного меню, чтобы легко сканировать папку всего двумя щелчками мыши.

Я изменил реестр и создал ключ Scan with AVPTool в HKEY_CLASSES_ROOT\Directory\shell и в этом ключе я создал еще один ключ под названием command и изменил значение на

"cmd.exe /k cd %1 & C:\AVPTool\AVPTool.exe SCAN %CD% /R:KAVSCANLOG.txt"

Но это не работает, так как %CD% не переводится в текущий рабочий каталог.

1 ответ

Я бы попробовал

"cmd.exe /k cd %1 & C:\AVPTool\AVPTool.exe SCAN "%1" /R:KAVSCANLOG.txt"

поскольку строка будет обработана путем замены%-variables и THEN выполняется, %CD% будет заменен на любой текущий каталог процесса INVOKING, а не каталог, в котором этот процесс запущен. Текущий каталог изменяется только ПОСЛЕ cd был выполнен, и к тому времени, %CD% уже был установлен в команду - как он стоял, когда cmd.exe был вызван.

Другие вопросы по тегам