2015-01-13 53 views
0

如何通過PowerShell腳本驗證如果由用戶共享名輸入c $而沒有其他內容?從\\主機名\例如提取共享名C $驗證共享名

$sharename = Read-Host "Enter path" 
if ($sharename -eq "c$") 
    { 
    "execute script" 
    } 
else 
    { 
    "ShareName must be c$" 
    } 

回答

1

使用像這樣通配符-match運營商正則表達式,或-like

if ($sharename -match "\\\\\w+\\c\$") { 
    "execute script" 
    } 

正則表達式是建立像這樣,

\\ -> \ 
\\ -> \ 
\w+ -> at least one word character 
\\ -> \ 
c -> letter 'c' 
\$ -> dollar sign 

測試用例

$sharename = '\\nomatter\c$' 
$sharename -match "\\\\\w+\\c\$" 
True 


$sharename = '\\nomatter\C$' 
$sharename -match "\\\\\w+\\c\$" 
True 


$sharename = '\\nomatter\d$' 
$sharename -match "\\\\\w+\\c\$" 
False 

$sharename = '\\nomatter\cee$' 
$sharename -match "\\\\\w+\\c\$" 
False 
+0

非常感謝! – kekimian

+0

您可能希望將'$'添加到模式的末尾。這將防止任何結尾字符。 – iCodez