I’m after some help (again) I’m getting a text file updated with a port number by a gui box for the end user. I only want a max of 3 digits in totally and each one can only range from 0-9. What can i do ? the \d says its a digit …got that far !
This looks like it might work…
“^\d{3}$”
Cracked it !!!
do {
$AAHelpDirectory = 'C:\AAHelp\tmp\port.cfg'
$CurrentPort = get-content "C:\AAHelp\tmp\port.cfg"
[int]$NewPortNumber = [Microsoft.VisualBasic.Interaction]::InputBox("`nPort is currently set to $CurrentPort `n`n`n`n`nPlease Enter the new port number", "AAHELP PORT MANAGER")
}
Until ($NewPortNumber -match "^\d{3}$")
The final script looked like this, if your interested ! ![]()
#Add .NET assembly for GUI box
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic') | Out-Null
#Run
do {
#Set AAHelp port.cfg location
$AAHelpDirectory = 'C:\AAHelp\tmp\port.cfg'
#Check current port number
$CurrentPort = get-content "C:\AAHelp\tmp\port.cfg"
#Run GUI box and request new 3 digit number
[int]$NewPortNumber = [Microsoft.VisualBasic.Interaction]::InputBox("`nPort is currently set to $CurrentPort `n`n`n`nPlease Enter the new port number `n(ONLY 3 Digits)", "AAHELP PORT MANAGER")
}
#Loop until 3 digit number is supplied
Until ($NewPortNumber -match "^\d{3}$")
#Update port.cfg file
Set-Content -Path $AAHelpDirectory -Value $NewPortNumber