我有這樣的:如何比較字符串與整數?
@echo off
setlocal ENABLEDELAYEDEXPANSION
set bla="-666"
set zzz="333"
if !zzz! LSS !bla! echo lesser
pause
給我 「小的」,這是錯誤的。我知道這是因爲ASCII值。但是如何將它們比作數字呢?
編輯:
一些更多的代碼:下面
set mn=99999
for /f "tokens=1-9" %%a in (%%g) do (
set zzz=%%d
)
if "!zzz!" LSS "!mn!" set mn=!zzz!
的答案沒有人給我正確的結果至今...
這不是一個非常強大的方法來刪除引號(考慮一個空字符串'bla =「」')。你寧願用'for'循環來做,就像這樣:'for %% a in(!bla!)do set/a bla = %%〜a + 0'。 –
@EitanT你是對的。當變量可以爲空(「」)或不帶引號時,使用for對於一般情況更安全。由於我的答案被選中,我編輯它。 –