mirror of
https://github.com/fleschutz/PowerShell.git
synced 2025-04-09 18:19:32 +02:00
Update write-code.ps1
This commit is contained in:
parent
d59d656366
commit
128f460e79
@ -1,61 +1,63 @@
|
|||||||
<#PSScriptInfo
|
<#
|
||||||
.VERSION 1.0
|
|
||||||
.GUID 3bb10ee7-38c1-41b9-88ea-16899164fc19
|
|
||||||
.AUTHOR Markus Fleschutz
|
|
||||||
.COPYRIGHT CC0
|
|
||||||
#>
|
|
||||||
|
|
||||||
<#
|
|
||||||
.SYNOPSIS
|
.SYNOPSIS
|
||||||
Writes code
|
Writes code
|
||||||
.DESCRIPTION
|
.DESCRIPTION
|
||||||
This PowerShell script generates and writes PowerShell code on the console (for fun).
|
This PowerShell script generates and writes PowerShell code on the console (no AI, just for fun).
|
||||||
.PARAMETER color
|
.PARAMETER color
|
||||||
Specifies the color to use ("green" by default)
|
Specifies the text color to use ("green" by default)
|
||||||
.PARAMETER speed
|
.PARAMETER speed
|
||||||
Specifies the speed in milliseconds per code line (500 by default)
|
Specifies the speed in milliseconds per code line (500 by default)
|
||||||
.EXAMPLE
|
.EXAMPLE
|
||||||
PS> ./write-code
|
PS> ./write-code.ps1
|
||||||
|
try {
|
||||||
|
...
|
||||||
.LINK
|
.LINK
|
||||||
https://github.com/fleschutz/PowerShell
|
https://github.com/fleschutz/PowerShell
|
||||||
#>
|
#>
|
||||||
|
|
||||||
param([string]$color = "green", [int]$speed = 500) # milliseconds
|
param([string]$color = "green", [int]$speed = 500) # milliseconds
|
||||||
|
|
||||||
|
[string]$global:Tabs = ""
|
||||||
|
|
||||||
function GetRandomCodeLine {
|
function GetRandomCodeLine {
|
||||||
$Generator = New-Object System.Random
|
$Generator = New-Object System.Random
|
||||||
$Num = [int]$Generator.next(0, 25)
|
$Num = [int]$Generator.next(0, 31)
|
||||||
switch($Num) {
|
switch($Num) {
|
||||||
0 { return " `$count = 0" }
|
0 { return $Tabs + "`$count = 0" }
|
||||||
1 { return " `$count++" }
|
1 { return $Tabs + "`$count++" }
|
||||||
2 { return " exit 0 # success" }
|
2 { return $Tabs + "exit 0 # success" }
|
||||||
3 { return " `$Files = Get-ChildItem C:" }
|
3 { return $Tabs + "`$Files = Get-ChildItem C:" }
|
||||||
4 { return " Start-Sleep -seconds 1" }
|
4 { return $Tabs + "Start-Sleep -seconds 1" }
|
||||||
5 { return " `$Generator = New-Object System-Random" }
|
5 { return $Tabs + "`$Generator = New-Object System-Random" }
|
||||||
6 { return "} else {" }
|
6 { $global:Tabs = " "; return "} else {" }
|
||||||
7 { return "} catch {" }
|
7 { $global:Tabs = " "; return "} catch {" }
|
||||||
8 { return "} elseif (`$count -eq 0) {" }
|
8 { $global:Tabs = " "; return "} elseif (`$count -eq 0) {" }
|
||||||
9 { return " Write-Host `"Hello World`" " }
|
9 { return $Tabs + "Write-Host `"Hello World`" " }
|
||||||
10 { return " while (`$true) {" }
|
10 { $global:Tabs = " "; return "while (`$true) {" }
|
||||||
11 { return "# next part:" }
|
11 { return $Tabs + "# next part:" }
|
||||||
12 { return " exit 1 # failed" }
|
12 { return $Tabs + "exit 1 # failed" }
|
||||||
13 { return " return 1" }
|
13 { return $Tabs + "return 1" }
|
||||||
14 { return " return 0" }
|
14 { return $Tabs + "return 0" }
|
||||||
15 { return " Write-Progress `"Working...`" " }
|
15 { return $Tabs + "Write-Progress `"Working...`" " }
|
||||||
16 { return " [bool]`$KeepAlive = `$true" }
|
16 { return $Tabs + "[bool]`$KeepAlive = `$true" }
|
||||||
17 { return "# Copyright © 2022 write-code.ps1. All Rights Reserved." }
|
17 { return $Tabs + "# Copyright © 2023 write-code.ps1. All Rights Reserved." }
|
||||||
18 { return " for ([int]`$i = 0; `$i -lt 100; `$i++) {" }
|
18 { $global:Tabs = " "; return "for ([int]`$i = 0; `$i -lt 42; `$i++) {" }
|
||||||
19 { return " `$StopWatch = [system.diagnostics.stopwatch]::startNew()" }
|
19 { return $Tabs + "`$StopWatch = [system.diagnostics.stopwatch]::startNew()" }
|
||||||
20 { return " [int]`$Elapsed = `$StopWatch.Elapsed.TotalSeconds" }
|
20 { return $Tabs + "[int]`$Elapsed = `$StopWatch.Elapsed.TotalSeconds" }
|
||||||
21 { return " if (`$count -eq 0) { `$count = Read-Host `"Enter number of iterations`" " }
|
21 { $global:Tabs = " "; return "if (`$count -eq 42) {" }
|
||||||
22 { return " } finally {" }
|
22 { $global:Tabs = " "; return "} finally {" }
|
||||||
23 { return " throw `"Can't open file`" " }
|
23 { return $Tabs + "throw `"Can't open file`" " }
|
||||||
24 { return " Start-Sleep -milliseconds 50" }
|
24 { return $Tabs + "Start-Sleep -milliseconds 42" }
|
||||||
|
25 { return $Tabs + "`$Choice = Read-Host `"Red or blue pill?`"" }
|
||||||
|
26 { return $Tabs + "[int]`$Answer = 42" }
|
||||||
|
27 { $global:Tabs = ""; return "}" }
|
||||||
|
28 { $global:Tabs = " "; return "try {" }
|
||||||
|
29 { $global:Tabs = " "; return "foreach(`$Row in `$Table) {" }
|
||||||
|
30 { $global:Tabs = " "; return "foreach(`$File in `$Files) {" }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Write-Host -foreground $color "try {"
|
|
||||||
while ($true) {
|
while ($true) {
|
||||||
Write-Host -foreground $color "$(GetRandomCodeLine)"
|
Write-Host -foreground $color "$(GetRandomCodeLine)"
|
||||||
Start-Sleep -milliseconds $speed
|
Start-Sleep -milliseconds $speed
|
||||||
|
Loading…
Reference in New Issue
Block a user