batch-file - 如何检查 Batch 中的字符串不是以数字开头?

标签 batch-file

如何检查字符串的第一个字符是字母而不是数字,或者更确切地说是密码?此字符串中没有空格或特殊字符。

最佳答案

@ECHO OFF
SETLOCAL
SET /a num=5678
CALL :initnum
SET "num=hello"
CALL :initnum
SET "num=4ello"
CALL :initnum
SET "num=hell0"
CALL :initnum
SET "num=he8lo"
CALL :initnum
SET "num="
CALL :initnum
ECHO(==============
SET /a nam=7654
SET "nem=hello"
SET "nim=4ello"
SET "nom=hell0"
SET "num=he8lo"
SET "nzm="
CALL :initnum2 nam
CALL :initnum2 nem
CALL :initnum2 nim
CALL :initnum2 nom
CALL :initnum2 num
CALL :initnum2 nzm

GOTO :EOF

:initnum
IF NOT DEFINED num ECHO NUM is empty, so it doesn't begin with a numeric&GOTO :EOF 
FOR /l %%a IN (0,1,9) DO IF %num:~0,1%==%%a ECHO %num% Begins with numeric&GOTO :EOF 
ECHO %num% Does NOT begin with a numeric
GOTO :eof

:initnum2
IF NOT DEFINED %1 ECHO %1 is empty, so it doesn't begin with a numeric&GOTO :EOF 
CALL SET "$1=%%%1%%"
FOR /l %%a IN (0,1,9) DO IF %$1:~0,1%==%%a ECHO %1 (%$1%) Begins with numeric&GOTO :EOF 
ECHO %1 (%$1%) Does NOT begin with a numeric
GOTO :eof

你应该能够从这个演示中得到你想要的东西。

关于batch-file - 如何检查 Batch 中的字符串不是以数字开头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25306909/

相关文章:

batch-file - 使用批处理文件创建 VBScript

windows - 网络共享上的桌面备份维护

maven - 从 MS bat 文件执行多个 maven 项目?

windows - 如何使用正确的工作目录从 BAT 文件启动 PowerShell 脚本?

javascript - 使用批处理脚本时如何克服文件名的 ASCII 排序顺序?

linux - 如何编写 Linux 脚本以从单个可执行文件运行多个文件?

windows %PATH% 变量 - 如何在 CMD shell 中再次拆分 ';'

java - 如何将 Windows 批处理文件作为独立于 Java 的进程来执行?

batch-file - CMD 变量名限制?

Windows 批量移动到可能不存在的目录