はじめに
Linuxだと以下のようにワンライナーでコマンドを実行することがありますが、同じようなことをコマンドプロンプトでも実現できないかと思い、実装方法を検討してみました。
[nkojima@myhost ~]$ date; md5sum sample.pdf
実装方法
- Windowsでは、
コマンド1 & コマンド2 & コマンド3...
という形になります。- Linuxだとコマンドの区切り文字(セパレーター)は「;」を使いましたが、コマンドプロンプト上では「&」になるようです。
- コマンド1の結果に関わらずコマンド2を実行する場合は「&」、コマンド1が成功した場合に限りコマンド2を実行する場合は「&&」を使います。
C:\Users\NKOJIMA>echo %time% & certutil -hashfile D:\ISO\AlmaLinux-8.3-x86_64-dvd.iso MD5
17:27:00.47
MD5 ハッシュ (対象 D:\ISO\AlmaLinux-8.3-x86_64-dvd.iso):
2734fcd999fbe9d7e81d4dae18db6b7b
CertUtil: -hashfile コマンドは正常に完了しました。
感想
- Linuxとはコマンドの区切り文字が違うだけなので、覚えやすいのではないかと思います。
- 調べてみた本人が言うのは変ですが、そもそもコマンドプロンプトは使いづらいのでわざわざワンライナーを使わないような気がします。
- もしワンライナーを使うとしたら、今ならPowerShellだと思います。