Discussion forum for all Windows batch related topics.
Moderator: DosItHelp
-
DOSadnie
- Posts: 143
- Joined: 21 Jul 2022 15:12
- Location: Coding Kindergarten
#1
Post
by DOSadnie » 14 Sep 2023 07:35
Is there a way to move the prompt sign in PowerShell [an also CMD] window more toward middle / right side of a it? So that a new empty line would flash it prompt sign as not being adjacent to the left edge of the window when awaiting for input from user?
This almost does what I need
Code: Select all
# -The countdown function
function Start-Countdown {
$Countdown = 2
while ($Countdown -gt 0) {
Write-Host ("Countdown: $Countdown seconds") -NoNewline
Start-Sleep -Seconds 1
$Countdown--
Write-Host "`r" -NoNewline
}
}
# Start the countdown
Start-Countdown
# Clear the countdown line
Write-Host "`r"
# Modifications of prompt
$Prompt = " " * 2 + ""
Write-Host $Prompt -NoNewline
# Wait for input from user
Read-Host ""
as it shows
ppp:p_
instead of
pppp_
[where each >>p<< represent a white pause]
Where is that splitting >>:<< sign coming from? And more importantly: how to get rid of it?
-
DOSadnie
- Posts: 143
- Joined: 21 Jul 2022 15:12
- Location: Coding Kindergarten
#2
Post
by DOSadnie » 21 Sep 2023 01:46
I have managed to co come up with a partial solution
This script
Code: Select all
$COUNTDOWN = 3
Write-Host
Write-Host " Endng in"
Write-Host
Write-Host " $COUNTDOWN"
Write-Host
Write-Host " seconds"
Write-Host
Start-Sleep -Seconds $COUNTDOWN
Write-Host
Write-Host
Write-Host " Script has been executed"
Write-Host
Write-Host "`r" # This clears the line
$Prompt = " " * 2 + " " # That separate single white space at the end of this line can be entirely removed or changed into whatever sign or text is desired
Write-Host $Prompt -NoNewline
Read-Host
will leave user with the third / last prompt line / sign being moved away from the left edge of the window - but so far I have been unsuccessful with making look like so all of the prompt signs [the initial one and the second during the countdown in this new example from this post]
-
DOSadnie
- Posts: 143
- Joined: 21 Jul 2022 15:12
- Location: Coding Kindergarten
#3
Post
by DOSadnie » 22 Oct 2023 09:02
Does anyone have any ideas about how to do this?
-
ShadowThief
- Expert
- Posts: 1166
- Joined: 06 Sep 2013 21:28
- Location: Virginia, United States
#4
Post
by ShadowThief » 22 Oct 2023 09:30
Are you just looking for prompt $S$S$P$G?
-
DOSadnie
- Posts: 143
- Joined: 21 Jul 2022 15:12
- Location: Coding Kindergarten
#5
Post
by DOSadnie » 18 Nov 2023 11:45
If you mean replacing line
with either
Code: Select all
$Prompt = "$S$S$P$G"
$Prompt = $S$S$P$G
$Prompt $S$S$P$G
then this does not work
-
DOSadnie
- Posts: 143
- Joined: 21 Jul 2022 15:12
- Location: Coding Kindergarten
#6
Post
by DOSadnie » 28 Dec 2023 03:24
DOSadnie wrote: ↑18 Nov 2023 11:45
If you mean replacing line
[...]
Well, did you?
-
DOSadnie
- Posts: 143
- Joined: 21 Jul 2022 15:12
- Location: Coding Kindergarten
#7
Post
by DOSadnie » 18 Feb 2024 03:39
I made basic tests files with just
Code: Select all
function prompt {
"$(' ' * 3)$(Get-Location)> "
}
Read-Host
Code: Select all
function prompt {
Write-Host (" " * 3) -NoNewline
return " $($executionContext.SessionState.Path.CurrentLocation)$('>' * ($nestedPromptLevel + 1)) "
}
Read-Host
but they all were showing to me the prompt sign adjacent next to left edge of PS window
How else can I try to move the prompt to the right?
-
Squashman
- Expert
- Posts: 4485
- Joined: 23 Dec 2011 13:59
#8
Post
by Squashman » 18 Feb 2024 09:00
Seems to work just fine for me.
Code: Select all
Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
Try the new cross-platform PowerShell https://aka.ms/pscore6
PS C:\Users\Squashman> function prompt {Write-Host (" " * 10) -NoNewline}
PS>function prompt {Write-Host (" " * 15) -NoNewline}
P> function prompt {Write-Host (" " * 20) -NoNewline}
PS>