Пакетные файлы Windows 7: Как проверить, был ли параметр передан в пакетный файл

У меня есть диалоговое окно, которое я записал, назвал диалоговое окно OpenFileOrFolder, которое позволяет Вам открывать или папку или файл.

, Если Вы устанавливаете его значение AcceptFiles ко лжи, затем она работает в, только принимают режим папки.

можно загрузить источник с GitHub здесь

24
задан saw303 23 November 2017 в 10:24
поделиться

1 ответ

if %1.==. dir будет прерываться, если параметр содержит различные символы, такие как ", < и т. Д.

if "%1"=="" будет прерываться, если параметр содержит кавычку (").

Вместо этого используйте if "%~1"=="":

if "%~1"=="" (
    echo No parameters have been provided.
) else (
    echo Parameters: %*
)

Это должно работать на всех версиях Windows и DOS.

Юнит-тест:

C:\>test
No parameters have been provided.

C:\>test "Lots of symbols ~@#$%^&*()_+<>?./`~!, but works"
Parameters: "Lots of symbols ~@#$%^&*()_+<>?./`~!, but works"
54
ответ дан 28 November 2019 в 22:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: