コンソール (私の場合は PowerShell) でテキスト ファイルを編集する最も簡単な方法を見つけようとしています。Windows7 64ビットを使用しています。edit filename.txt
ファイルを編集するためにタイプするだけではないことにうんざりしています。それは以前は機能していましたが、すべてが変わりました。Windows コンソール内でテキスト ファイルを表示および編集するためのオプションを教えてください。また、VIM をインストールして学習するように言われたら、顔を殴るつもりです。:-)
17 に答える
なぜメモ帳を使わないのですか?
notepad.exe filename.txt
古いedit.com
ものは PowerShell で動作します (少なくとも私のボックス: Windows 7 Pro x86) が、x64 では 16 ビット アーキテクチャのため動作しません。
この簡単なエディターをご覧ください。
機能は最小限ですが、超高速で大きなテキスト ファイルを処理できます。GUI バージョンとコンソール バージョン (k.exe) が含まれています。Linuxでも同じように動作するはずです。
例: 私のテストでは、500MB のディスク イメージを開くのに 7 秒かかりました。
あなたが私を殴る危険を冒している間、私はあなたが言及した解決策に行き詰まっていると思います. SuperUser に関するこの投稿をご覧ください。
Powershell の x 以外のテキスト エディターはどれですか?
また、Windows 用の nano バージョンもあります。
誰かがもっと十分な答えを持っていることを願っています。
Sven Plathに同意します。ナノは優れた代替手段です。Chocolateyまたはscoopがある場合は、Powershell で次のように入力して nano をインストールできます。
PS C:\dev\> choco install nano
# --OR--
PS C:\dev\> scoop install nano
次に、somefile.txt を編集するには、次のように入力します。
PS C:\dev\> nano somefile.txt
それはかなりきれいです!
編集: Nano は私の Windows 10 ボックスでは問題なく動作しますが、私の Windows 7 マシンでは最初の読み込みに非常に時間がかかります。そのため、Win 7ラップトップでvim(vi)に切り替えました
PS C:\dev\> choco install vim
PS C:\dev\> vim $profile
PowerShell プロファイルの Set-Alias (sal) に行を追加します。
sal vi vim
Esc - : - x - Enter :-)
オンラインから vim をインストールすると、次のように実行できます: vim "filename"そのファイルを編集する
choco を介して powershell に nano をインストールできます。これは、テキスト編集機能を powershell に取り込むための摩擦の少ない方法です。
- チョコをインストール
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
- ナノをインストール
choco install nano
- 利益
nano myfile.txt
最良の部分は、それがパスの一部になり、再起動などの後も機能し続けることです:)
Windows Nano Docker イメージでデバッグを行う必要があり、ファイルの内容を編集する必要がありました。
Get-Content
とSet-Content
base 64 エンコーディング/デコーディングを組み合わせてファイルを更新しました。例えば
foo.txt の編集
PS C:\app> Set-Content foo.txt "Hello World"
PS C:\app> Get-Content foo.txt
Hello World
PS C:\app> [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("TXkgbmV3IG11bHRpDQpsaW5lIGRvY3VtZW50DQp3aXRoIGFsbCBraW5kcyBvZiBmdW4gc3R1ZmYNCiFAIyVeJSQmXiYoJiopIUAjIw0KLi4ud29ybGQ=")) | Set-Content foo.txt
PS C:\app> Get-Content foo.txt
My new multi
line document
with all kinds of fun stuff
!@#%^%$&^&(&*)!@##
...world
PS C:\app>
トリックは、base 64 でデコードされた文字列をパイプすることです。Set-Content
[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("...")) | Set-Content foo.txt
それはvimではありませんが、その価値のためにファイルを更新できます。
Linux 用の Windows サブシステム (wsl) がある場合は、次のコマンドが非常に便利です。
bash -c "vi filename.txt"