角括弧(> <)の間に改行を置き換えるWindowsバッチを書き込もうとしています。 私はPowerShellのすることではなくても可能な解決策を探しに新しいですが、私はPowerShellのから、次の作品を発見した:Powershellコマンドとウィンドウ内の改行改行を使用しています
(get-content input.txt) -replace "><", ">`n<" | set-content output.txt
は、Windowsのバッチ内にこれを使用するには、私は内部でそれをラップする必要が
powershell -command "arguments"
置き換えるテキストの周りの単一引用符は、墓のqが発生するため
powershell -command "(gc input.txt) -replace '><', '>`n<' | sc output.txt"
しかし、もちろん、これは動作しません:
だから、最終的なコマンドは何かに似ています文字通り扱われるべき文字をエスケープする。
PSエスケープ文字が認識され、同様の回答in hereが見つかりましたが、これを試してみると、「<は予期せぬ私の検索文字列に角かっこも含まれているので、私は必要なのはもっと複雑だと思います。
問題を引用するための汎用的な修正は、ここで説明する '-EncodedCommand'パラメータです。https://stackoverflow.com/a/47173505/478656 – TessellatingHeckler