rksoftware

Visual Studio とか C# とかが好きです

PowerShell で .NET のコンソールアプリにダブルクォーテーションを引数で渡す

PowerShell で .NET のコンソールアプリにダブルクォーテーションを引数で渡す。意外と難しいです。

■ 結論

.\ConsoleApp1.exe \`"

です。

■ 内容

" は PowerShell で引数として書く場合に ` によるエスケープが必要です。その後、.NET のコンソールアプリでも \ によるエスケープが必要です。ということだと思います。

例えば PowerShell だけで動かすとこんな感じです。

 echo \`"
\"

つまり、\`" と書くことで、.NET のコンソールアプリに \" がわたり、アプリ内で " として入ってくるみたいです。

30分くらい悩みました。