{"id":8184,"date":"2023-12-11T19:18:39","date_gmt":"2023-12-11T18:18:39","guid":{"rendered":"https:\/\/solidt.eu\/site\/?p=8184"},"modified":"2025-09-08T15:53:29","modified_gmt":"2025-09-08T14:53:29","slug":"c-create-temp-console-project-powershell-script","status":"publish","type":"post","link":"https:\/\/solidt.eu\/site\/c-create-temp-console-project-powershell-script\/","title":{"rendered":"C# create console project powershell script"},"content":{"rendered":"\n<p>new-temp-project.ps1<\/p>\n\n\n\n<div style=\"height: 250px; position:relative; margin-bottom: 50px;\" class=\"wp-block-simple-code-block-ace\"><pre class=\"wp-block-simple-code-block-ace\" style=\"position:absolute;top:0;right:0;bottom:0;left:0\" data-mode=\"powershell\" data-theme=\"monokai\" data-fontsize=\"14\" data-lines=\"Infinity\" data-showlines=\"true\" data-copy=\"false\">function Get-CsName {\n    param(\n        [string]$Name,\n        [string]$Fallback = \"Project\"\n    )\n\n    if ([string]::IsNullOrWhiteSpace($Name)) {\n        return $Fallback\n    }\n\n    try {\n        $name = $Name.Trim()\n\n        # Converteer _ . \\ en spatie gevolgd door een letter naar hoofdletter\n        $name = [regex]::Replace($name, '[\\\\._ ]([a-z])', { \n            param($m) \n            $m.Groups[1].Value.ToUpper() \n        })\n\n        # Verwijder alles wat geen letter of cijfer is\n        $name = $name -replace '[^a-zA-Z0-9]', ''\n\n        if ($name.Length -gt 0) {\n            # Eerste letter hoofdletter maken\n            $name = $name.Substring(0,1).ToUpper() + $name.Substring(1)\n        }\n\n        # Als de eerste char een cijfer is, prepend een underscore\n        if ($name.Length -gt 0 -and $name[0] -match '\\d') {\n            $name = \"_$name\"\n        }\n\n        return $name\n    }\n    catch {\n        Write-Host \"\u274c Fout: $_\" -ForegroundColor Red\n        return $Fallback\n    }\n}\n\n# --------------------------\n# Script start\n# --------------------------\n\n$rawName = Read-Host \"Enter a project name\"\n\nif ([string]::IsNullOrWhiteSpace($rawName)) {\n    Write-Host \"\u274c Geen projectnaam ingevuld. Script wordt afgebroken.\" -ForegroundColor Red\n    exit 1\n}\n\n$projectname = Get-CsName $rawName\n\nif (Test-Path $projectname) {\n    Write-Host \"\u26a0\ufe0f Map '$projectname' bestaat al. Script wordt afgebroken.\" -ForegroundColor Yellow\n    exit 1\n}\n\nNew-Item -ItemType Directory -Force -Path $projectname | Out-Null\nPush-Location $projectname\n\ngit init\n\ndotnet new sln -n Solution\ndotnet new gitignore\ndotnet new globaljson --roll-forward latestMinor\ndotnet new nugetconfig\n\n# ConsoleApp krijgt dezelfde naam als project\ndotnet new console -n $projectname --use-program-main\ndotnet sln add $projectname\n\nWrite-Host \"\u2705 Project '$projectname' is aangemaakt.\" -ForegroundColor Green\n\n# VS Code openen\ncode .\n<\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"<p>new-temp-project.ps1<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-8184","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts\/8184","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/comments?post=8184"}],"version-history":[{"count":8,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts\/8184\/revisions"}],"predecessor-version":[{"id":9756,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/posts\/8184\/revisions\/9756"}],"wp:attachment":[{"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/media?parent=8184"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/categories?post=8184"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/solidt.eu\/site\/wp-json\/wp\/v2\/tags?post=8184"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}