Запустите команду с перетаскиванием на командный файл

Я хочу перетащить файл в командный файл, чтобы выполнить на нем приведенную ниже команду. Как мне выполнить команду для удаленного файла?

PotreeConverter.exe <dropped file> -o C:/output -p index

3 ответа

Решение

path файла, когда вы бросаете его на BATфайл, будет возвращен как нормальный %1 аргумент.

так:

@echo off
PotreeConverter.exe "%~1" -o C:/output -p index

Ты можешь использовать %* если вы уроните более 1 файла

Пример:

@echo off

for %%a in (%*) do echo [%%a] was dropped on me 
pause

Следуя этому простому руководству.

Создать командный файл test.bat с содержанием

@echo off
echo The full path of the file is: %1
pause

Перетащите на него любой файл, вы увидите, что %1 заменяется полным путем к этому файлу в кавычках.

Теперь вы знаете, как выполнить некоторую команду, которая принимает в качестве аргумента путь к файлу:

@echo off
some_command_that_takes_a_path_to_a_file %1

так что, если я хочу показать только имя файла вместо полного каталога, например, я хочу сделать «Имя файла - <имя файла>»

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