Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 如何强制输入仅为字符串?_Powershell_Powershell Ise - Fatal编程技术网

Powershell 如何强制输入仅为字符串?

Powershell 如何强制输入仅为字符串?,powershell,powershell-ise,Powershell,Powershell Ise,我需要用户输入一本书的标题 我需要确保他们只输入字符串 这就是我目前所处的位置,请提供指导 是否{$strTitle=Read host“输入书名”} 而($strTitle-eq“”)字符串是什么意思?只有字母字符 你可以试试正则表达式 检查字母字符的代码: 我用这种方法,但我陷入了一个无休止的循环。我想设置更多的正则表达式,只是不理解到目前为止的设置-[regex]$RstrTitle=“^[a-z]$”Woops,对不起,循环实际上应该是do{}until()循环,而不是while。这就

我需要用户输入一本书的标题

我需要确保他们只输入字符串

这就是我目前所处的位置,请提供指导

是否{$strTitle=Read host“输入书名”}
而($strTitle-eq“”)

字符串是什么意思?只有字母字符

你可以试试正则表达式

检查字母字符的代码:
我用这种方法,但我陷入了一个无休止的循环。我想设置更多的正则表达式,只是不理解到目前为止的设置-[regex]$RstrTitle=“^[a-z]$”Woops,对不起,循环实际上应该是
do{}until()
循环,而不是
while
。这就是为什么它会永远循环。这个命令中仅有的两种输出类型是String和SecureString(根据readhost上的帮助)。如果指定了
-AsSecureString
,则只能获得SecureString。我已更改了代码,以便它使用POSIX类
[:alpha::
Do {
    $strTitle = Read-host "Enter the book title"
} until ($strTitle -notMatch "[^[:alpha:]]")