windowsでtouchコマンドを扱う方法

ほぼほぼ引用の話。

touchとは

コンソール、ターミナル等のコマンド。

例に漏れずいろんなオプションがあって便利なんだけど、windowsだと使えない。というのが、組み込まれているのがLINUX環境下だけっぽいので、つまりmacとかは使えるしwindowsのみハブられてるという地味にしんどい制限。

禁止されてるんじゃなくて存在しないコマンドだから、OSを変えるか使えるようにカスタマイズというか手を入れる必要がある。

やっていく

ここを見れば解決する。

ワイのWindowsにも touch コマンドがやってきたで!ヤァ!ヤァ!ヤァ! | Gabekore Garage
Linux系を使っている人ならご存知かと思いますが、touch というコマンドがあります。 使う人にはとっても便利(いや、そこそこぐらいかな・・・)、使わない人には意味不明なコマンドです。 Windowsには touch...

2016年の記事だけど2022年6月現在、win10最新状態でも動いた。

記事にもあるけど一部の機能だけ組み込んである内容なので、これだけでtouchのすべてが使えるわけじゃない。だけど、こちらとしても望んでいる機能だったので問題ないって感じ。

PowerShellでの注意点

作ったtouch.batはルートに置けばいいってことなので、要するにプロジェクトに突っ込んでおけば問題なく動作する。で、ファイルを作りたいから以下のように書いたらエラーが出た。

touch app.js

//エラー文
touch : 用語 'touch' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されませ
ん。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してくだ
さい。
発生場所 行:1 文字:1
+ touch app.js firebase-config.json index.html webpack.config.js
+ ~~~~~
    + CategoryInfo          : ObjectNotFound: (touch:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException


Suggestion [3,General]: コマンド touch は見つかりませんでしたが、現在の場所に存在します。Windows PowerShell は、既定では、現在の場所からコマンドを読み込みません。このコマンドを信頼する場合は、".\touch" と入力してください。詳細については、"get-help about_Command_Precedence" と入力してヘルプを参照してください。

なのでこうなる。

.\touch app.js

touchでは一括作成の方法があるけどダメくさい。1つずつ作らなきゃいけない。

//NG
.\touch {app.js,firebase-config.json,index.html,webpack.config.js}

//OK
.\touch app.js
.\touch firebase-config.json
.\touch index.html
.\touch webpack.config.js

そんな感じで。

まあこんなことするくらいだったらコンソール使わずに空ファイルを作ったほうが早い。

なんとかなるっちゃなったけど

windowsの限界なのかもしれないと思ったりして。Gitはインストールすれば済んだけど、今回みたいな代案でどうのこうのはコマンドをある程度網羅して理解できてないと何が引っかかってるのかどこで躓いてるのかが分からなかったり解決に時間がかかったりで面倒がすごい。

コメント

タイトルとURLをコピーしました