Как использовать переменную, чтобы получить текущий путь к каталогу правильно? Попытка запустить антивирусный сканер для сканирования текущего каталога из контекстного меню
Я могу использовать переменную %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
был вызван.