CMD ... ЕСЛИ! First_char! == "." (эхо ...) ELSE () (если сравнение тестовых символов не работает!) - PullRequest
0 голосов
/ 10 марта 2020
@echo off
cls
setlocal EnableDelayedExpansion
echo

for %%f in (*.lnk) do (
    set x=%%f
    echo !x!

    set first_char= "!x:~0,1!"
    echo !first_char! 


    IF !first_char! == "." ( 
        echo "first char is a dot"
    ) ELSE (
        echo "first char is NOT a dot"
    )
)
PAUSE

Мои файлы начинаются с точки, и эта windows cmd .bat программа всегда повторяет "первый символ - НЕ точка", поэтому, конечно, существует проблема с интерпретацией IF.

Может кто-то выяснить это?

1 Ответ

0 голосов
/ 10 марта 2020

Хорошо, теперь я понимаю!

правильный путь:

rem no space after equal and no need double quote
    set first_char=!x:~0,1! 
rem and this IF will work perfect 
    IF !first_char! == . (

Хорошо, спасибо за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...