本ページはプロモーションが含まれています。 ターミナル

PowerShellでtouchができない!代替コマンドとおすすめ解決法

CUIでのファイル作成で使う「touch」コマンドは、WindowsPowerShell(以下PS)では使うことができません。

詳細は後述しますが、PSでファイルを作成する場合、専用の「New-Item」というコマンドを用います。

尚、今回はその「New-Item」コマンドも取り上げますが、個人的には「bash」を入れて両方使い分けることをおすすめします。

特に参考にしてほしい方

  • Windows環境PS(またはコマンドプロンプト)をお使いの方
  • CUIを使うことをなんとなく避けている方

PowerShellでtouch相当のコマンド(ファイル作成)は「New-Item」

PSではlinux系の「touch」とは全く異なり、文字通り「New-Item」でファイル生成を行います。

公式参考: https://learn.microsoft.com/ja-jp/powershell/module/microsoft.powershell.management/new-item?source=recommendations&view=powershell-7.3

現在のディレクトリに「test.txt」を作成する場合は、下記のコマンドで生成ができます。


New-Item test.txt

公式の方をご確認いただけると分かりますが、パラメータをかなり省略しています。
正式に記述すると、以下のようになります。


New-Item -Path . -Name "test.txt" -ItemType "file"

それぞれ、「Path」パラメータでカレント「.」を、「Name」でファイル名を、「ItemType」でファイルやディレクトリなどの種類を表します。

つまり、「New-Item」コマンドは「touch」と「mkdir」、加えてPS用のプロファイルも生成可能な万能コマンドです。

良し悪しは別にして、一つのコマンドにまとめられた形ですね。

そもそも論-PSを使う意味があるのか

可能/不可能でいえば可能のようですが、恐らくlinuxにPSをインストールして使うことは少ないと思います。
Windows以外の開発はしないと確定している方を除き、linuxで使えるコマンドを覚えた方が効率的です。

特に開発をこれから始める、または始めたばかりの方は、慣れるためにもlinuxと同等のCUIを提供するターミナルで操作することをおすすめします。

WindowsのCUIは「Git Bash」がおすすめ

「Git Bash」は、Windows用の「Git」である「Git for Windows」に付随してインストールされるターミナルです。

https://gitforwindows.org/

linuxでは一般的な「bash」の機能を使うことができます。

gitを入れなくてもWindows10から「bash」を使うことができるようですが、git自体必要で設定も楽なので「Git Bash」経由をおすすめします。

PSを使うより検索もヒットしやすくなり、エラーも減らすことができるでしょう。

PSを使う機会-「venv」の起動はしやすい

Pythonの仮想開発環境を構築するツールで「venv」があります。

作成した環境をターミナルから起動できるのですが、これはPSやコマンドプロンプトの方が使いやすいです。

PSで起動できるので解決法を探しはしませんでしたが、bashからの起動ではエラーが発生していました。

どうせならPSもbashも両方使ってしまおう

メインをbashにするのはおすすめですが、結局状況によって使い分けることが良いと思います。

使用しているOSがWindowsである限り、MicrosoftとしてはPSかコマンドプロンプトを指定してきます。
Windowsの設定を変更する場合や、環境変数などを設定する場合は、公式に従いPSなどを使いましょう。

VisualStudioCodeならターミナルの切り替えは簡単

もしエディタがVSCodeなら、簡単にターミナルを切り替えることができます。
画像の右下にある「」マークから使用できるターミナルから選ぶことが可能です。

同じターミナルを複数起動することも可能です。
想定する状況としては、リアルタイムログを受信中に他からコマンドを送る、などでしょうか。

普段は「bash」を使い、状況によって「PowerShell」も使い分けよう!

目的が早く確実に達成できるのであれば、ターミナルは何を使っても良いと思います。
もちろん、ドキュメントを残して他のメンバーが参画できることは前提です。

その前提に立てば、以下のポイントで選択すればOKだと思います。

  • OSやミドルウェアの影響をなるべく受けないこと
  • (パラメータを含め)他のコンピュータでも実行がしやすいこと

OSに依存しにくいものはbashで、OSの設定や公式で指定されているときはそのターミナルを使って、快適な開発ライフを送りましょう。

-ターミナル
-