コマンドの調べ方

【連載】

LinuxユーザーのためのWindowsコマンド超入門

【第29回】コマンドの調べ方

[2019/04/11 07:00]後藤大地 ブックマーク ブックマーク

  • サーバ/ストレージ

サーバ/ストレージ

これまでWindowsのコマンドプロンプトで利用できるコマンドについて取り上げてきた。前回と前々回は制御構文的な書き方が可能になるifとforについて紹介した。連載最後となる今回は今後Windowsコマンドについて調べていく上で役に立つ情報をまとめておこうと思う。

Linuxのシェルやコマンドとの違い

Linuxには膨大な数のコマンドがある。パッケージ管理システムからインストールすれば利用できるコマンドの数はいくらでも増やすことができるし、提供されている機能も実にさまざまだ。コマンド1つあたりの機能も豊富であることが多く、オプションによってさまざまなかたちで動作させることができる。

一方、Windowsのコマンドプロンプトで使用できるコマンドは比較的限られた数で、Linuxのようにパッケージ管理システムを通じて利用できるコマンドを増やすということはできない。追加インストールすればそれなりにコマンドを増やすことはできるものの、Linuxほど多くのコマンドを利用できるようになるということはあんまりない。

さらに、Linux系のコマンドはmanコマンドでオンラインマニュアルを表示できることが多く、使い方を調べる方法が「man コマンド名」といったように統一されている。一方、Windowsのコマンドには/hパラメータでヘルプを表示するといったのが本質的な処理で、manコマンドで表示されるような詳しいマニュアルを読むことはできない。Webブラウザでオンラインのマニュアルを読む方が情報を得ることができる。

Linuxではシェルを組むときにはbashか、dashというシェルが使われることが多い。どちらもBourne Shellと呼ばれるシェルの系列に入るソフトウェアで、利用できる基本構文が類似している。インタラクティブなシェルとしてはbashが使われることが多いが、これ以外にもzsh、tcsh、ksh、fishなどもある。ともかくシェルの選択肢が多く、場合によってはBourne Shell系以外の構文が使われることもある。

これと比べるとWindowsではコマンドプロンプトとPowerShellといった選択肢が用意されている、PowerShellの方はプログラミング的な使い方が可能だが、コマンドプロンプトの方は提供されている機能がかなり限られている。ifとforで制御構文的なこともできるにはできるが、シェルや今人気のあるプログラミング言語が提供しているような制御構文としては利用することができない。あくまでも模擬的な機能で似たようなことができるものとして利用することになる。

Linuxでシェルやシェルスクリプトを使ってきたユーザは、コマンドプロンプトに同じ機能を期待すると困惑することになる。コマンドプロンプトが提供する機能はシェルと比べるとかなり限られていると考えておいたほうがよい。また、バッチファイルも基本的にはコマンドをまとめておくためのもので、シェルスクリプトのようにプログラミング言語的な利用はあまりできないと考えておいた方が無難だ。

Windowsのコマンドを調べる方法

Windowsでコマンドを使っていくとなると、今後はどういったコマンドが存在するのかを調べていく必要があるわけだが、基本的にはWebブラウザ経由でマニュアルドキュメントを探すということになる。次のURLがWindowsコマンドのマニュアルページになっており、ここを調べていくというのが基本的なアプローチになる。

Windows Commands | Microsoft Docs


執筆段階で上記サイトには次のコマンドが掲載されている。

Windows Commandsに掲載されているコマンド
append, arp, assoc, at, atmadm, attrib, auditpol, autochk, autoconv, autofmt, bcdboot, bcdedit, bdehdcfg, bitsadmin, bootcfg, break, cacls, call, cd, certreq, certutil, change, chcp, chdir, chglogon, chgport, chgusr, chkdsk, chkntfs, choice, cipher, clip, cls, Cmd, cmdkey, cmstp, color, comp, compact, convert, copy, cprofile, cscript, date, dcgpofix, defrag, del, dfsrmig, diantz, dir, diskcomp, diskcopy, diskpart, diskperf, diskraid, diskshadow, dispdiag, Dnscmd, doskey, driverquery, echo, edit, endlocal, erase, eventcreate, eventquery, eventtriggers, Evntcmd, exit, expand, extract, fc, find, findstr, finger, flattemp, fondue, for, forfiles, format, freedisk, fsutil, ftype, fveupdate, getmac, gettype, goto, gpfixup, gpresult, gpupdate, graftabl, help, helpctr, hostname, icacls, if, inuse, ipconfig, ipxroute, irftp, jetpack, klist, ksetup, ktmutil, ktpass, label, lodctr, logman, logoff, lpq, lpr, macfile, makecab, manage-bde, mapadmin, Md, mkdir, mklink, mmc, mode, more, mount, mountvol, move, mqbkup, mqsvc, mqtgsvc, msdt, msg, msiexec, msinfo32, mstsc, nbtstat, netcfg, netsh, netstat, Net print, nfsadmin, nfsshare, nfsstat, nlbmgr, nslookup, ntbackup, ntcmdprompt, ntfrsutl, openfiles, pagefileconfig, path, pathping, pause, pbadmin, pentnt, perfmon, ping, pnpunattend, pnputil, popd, PowerShell, PowerShell_ise, print, prncnfg, prndrvr, prnjobs, prnmngr, prnport, prnqctl, prompt, pubprn, pushd, pushprinterconnections, qappsrv, qprocess, query, quser, qwinsta, rcp, rd, rdpsign, recover, reg, regini, regsvr32, relog, rem, ren, rename, repair-bde, replace, reset session, rexec, risetup, rmdir, robocopy, route_ws2008, rpcinfo, rpcping, rsh, rundll32, rwinsta, schtasks, Scwcmd, secedit, serverceipoptin, Servermanagercmd, set, setlocal, setx, sfc, shadow, shift, showmount, shutdown, sort, start, subst, sxstrace, sysocmgr, systeminfo, takeown, tapicfg, taskkill, tasklist, tcmsetup, telnet, tftp, time, timeout, title, tlntadmn, tpmvscmgr, tracerpt, tracert, tree, tscon, tsdiscon, tsecimp, tskill, tsprof, type, typeperf, tzutil, vssadmin, unlodctr, ver, verifier, verify, vol, waitfor, wbadmin, wdsutil, wecutil, wevtutil, where, whoami, winnt, winnt32, winpop, winrs, wmic, wscript, xcopy

使うこともあるかと思うので、次のマニュアルへのリンクを含めた状態のコマンド一覧を掲載しておく。


一つ気をつける必要があるのは、すべてのコマンドがすべてのWindowsプラットフォームに用意されているわけではないということだ。サーバ向けの機能はサーバプラットフォームにしか用意されていないし、いくつかのコマンドはバージョンが変わると提供されていなかったり、または、提供が廃止されたりするものなどもあるので、頭に入れておきたい。

Windowsとコマンド、そのさきはPowerShell Coreへ

WindowsであってもLinuxのようにコマンドでさまざまな処理を実行することができる。コマンド化したりバッチファイル化することは処理の自動化の第一歩なので、ぜひ多くの方に取り組んでもらい、時短につなげてもらうとよいだろう。

コマンドを使ってWindowsを操作することに興味が生まれたら、次はぜひPowerShellに取り組んでほしい。PowerShellはシェルとして利用することを想定してUI/UXが設計されているが、背後にあるのはオブジェクト指向のプログラミング言語で、シェル的な使い方をしつつ、結構本格的なプログラミングも可能となっている。MicrosoftはPowerShellを使ってWindowsを操作できるようにさまざまな機能を提供しており、今後新たに学んでいくならPowerShellが便利だ。

さらに加えると、「今」から学ぶならPowerShellではなく「PowerShell Core」の方を学んで貰えればと思う。MicrosoftはPowerShellのコードの整理してPowerShell Coreというオープンソースソフトウェアとして公開した。PowerShell CoreはWindowsのみならずmacOSやLinuxでも使用できる。複数のオペレーティングシステムを管理できるシェルとしてPowerShell Coreはとても魅力的だ。

PowerShell Coreに関しては「【連載】PowerShell Core入門 - 基本コマンドの使い方」でPowerShell Coreの基本から最新版の機能の紹介まで幅広く扱っている。興味を持った方はぜひご購読いただければと思う。

WindowsはGUIで操作するものという発想しかなかった方に、ちょっとでもコマンドの便利が伝わったのなら幸いだ。これからもぜひコマンドを活用してもらえればと思う。

参考資料

※ 本記事は掲載時点の情報であり、最新のものとは異なる場合がございます。予めご了承ください。

一覧はこちら

連載目次

もっと知りたい!こちらもオススメ

【連載】RPA入門 - ツールで学ぶ活用シーン

【連載】RPA入門 - ツールで学ぶ活用シーン

AIには、ルールベース、機械学習、深層学習(ディープラーニング)の3つのレベルがあり、レベルが上がるに連れてより高度な人工知能を実現しますが、AIのスピンオフという位置付けで、Digital Labor(仮想知的労働者)によるホワイトカラー業務の自動化を実現するRPAが注目されています。

関連リンク

この記事に興味を持ったら"いいね!"を Click
Facebook で IT Search+ の人気記事をお届けします

会員登録(無料)

注目の特集/連載
[解説動画] Googleアナリティクス分析&活用講座 - Webサイト改善の正しい考え方
知りたい! カナコさん 皆で話そうAIのコト
教えてカナコさん! これならわかるAI入門
対話システムをつくろう! Python超入門
Kubernetes入門
AWSで作るクラウドネイティブアプリケーションの基本
ソフトウェア開発自動化入門
PowerShell Core入門
徹底研究! ハイブリッドクラウド
マイナビニュース スペシャルセミナー 講演レポート/当日講演資料 まとめ
セキュリティアワード特設ページ

一覧はこちら

今注目のIT用語の意味を事典でチェック!

一覧はこちら

ページの先頭に戻る