お世話になります。
Windowsのコマンドラインプロンプトでは、ある程度タイプして[TAB}キーを押下すると、カレントディレクトリにあるファイル名を補完してくれます。
たとえば xxxxYYY というファイルがあるディレクトリにおいて
C:\foo\> x[TAB]
のようにタイプすると、xxxxYYYと補完されます。
LinuxやMacを含むUNIX系のコマンドライン環境では、カレントディレクトリだけでなく、PATHに入っているコマンドも補完してくれます。具体的に言うと、C:\myProgram\bin\xxxxYYY.exeというコマンドを、C:\fooという全然違うカレントディレクトリにあっても、
C:\foo\> x[TAB]
で補完してくれます。
この、PATHにあるコマンド名の補完は、Windowsでも可能でしょうが。
具体的には、何らかのフリーウェアを常駐させる、レジストリを書き換えるなどによって、可能になるでしょうか。
私は20年以上DOS/Windowsを使い込んでいるのですが、この機能さえあれば本当に助かります。
Linuxを使え、WindowsでCygwinを使えというのはナシで、あくまでWindowsのcmdを使い続けるという前提でお願いします。
よろしくお願いいたします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
コマンドプロンプト CMD.EXE にはそういう機能はありません。
CMD.EXEを置き換えるようなソフトを探すくらいしかないと思います。補完より知られていないコマンドプロンプトの機能で、シェルでいうaliasにあたるものがありますので、それを活用するのも手かと。わたしはそうしてます。
e=notepad.exe $*
ls=dir /w /a $*
h=doskey /history $*
のような定義ファイルを作っておき、コマンドプロンプトの起動ショートカットを
%SystemRoot%\system32\cmd.exe /k doskey /macrofile=定義ファイル名
のように修正します。あるいは、cmd /? を参照して下記のレジストリにdoskeyコマンドを書いておけばどのようにCMD.EXEを起動しても有効になります。
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
or
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
ありがとうございます。
これもなかなか便利ですね~。
さて、私の目的は、特定の場所に置いたPerlのスクリプトを実行する時にタイプを早くしたいと言うものでした。
PATH配下にある実行可能形式のタブ補完はUNIX系では一般的なものであり、かつ明らかに便利なので、何らかの方法で実装していればと思い、質問させていただきました。
いずれにせよ、ありがとうございます。
No.2
- 回答日時:
ファイル名やディレクトリ名の補完は下記の記事が参考になると思います。
http://www.atmarkit.co.jp/fwin2k/win2ktips/072cm …
なお上記の方法でパスにあるコマンドの補完はできませんでした。
ご回答ありがとうございます。
cmdの補完は昔は /F:ONをわざわざ指定する必要があったようですが、現状はこれがデフォルトになりましたね。
わざわざ試していただき、ありがとうございます。
No.3
- 回答日時:
CMDではありませんが…
WindowsPowerShell はいかがですか?
http://ja.wikipedia.org/wiki/Windows_PowerShell
XP以降で使用可能ですが、Windows7では標準搭載されています。
ご回答ありがとうございます。
PowerShellはオブジェクト指向の画期的なシェル環境ということで、昔はいろいろ本も出ていて、勉強しかけたのですが、複雑すぎて挫折してしまいました。
しかし、7で標準搭載されたということは、cmdが置き換わらないとも限らないので、改めて勉強しようと思います。
さて、PowerShellの補完機能では、確かに今までとは比べ物にならないいろいろなプログラムが補完出来たのですが、PATHに置いた自作のPerlスクリプトは補完してもらえませんでした。
また、cmdで標準出力にメッセージを出力するプログラムを実行すると、cmdウィンドウ(DOS窓)が一瞬開いて内容が表示されてすぐ消えてしまうので、私の用途には使えないと分かりました。
(何らかのPowerShell独自のオブジェクト指向コマンドを使えば出来るのかもしれませんが、そこまで調べが行き届きませんでした。)
引き続き、PATH配下のコマンド補完についてどなたか何か分かりましたら、ご教示くださるようお願いいたします。
ご回答をくださったみなさんありがとうございました。
No.4
- 回答日時:
*補足です*
PerlのスクリプトはWindowsでは「コマンド」として認識できないのでPATH変数による補完はされないと思います。
Cygwinでもできない気がします。
PS上でCMD.exeを実行すると別プログラムを起動することになりますので呼ばれた側で一時停止なりをしなければそのままプログラムが終了してしまいます。
システム管理上はレジストリ操作などができて色々便利なのですが、bashなどのシェルとして扱おうとすると考え方の違いにかなり戸惑うと思います。
この回答への補足
Windowsで動くzsh、bashっていうのがありますね。
ぼくはzshが好きなのでこれもいいですね。
Cygwinはちょっと大げさなのでこれが使えればいいかも。
http://d.hatena.ne.jp/griefworker/20100201/windo …
でもDOS窓が拡張されると一番いいな。
DOSのコマンドも使いこなせるようになりたいので・・・。
ありがとうございます。
いま、ひさびさにCygwinを入れて確認しましたが、CygwinであればPATHにあるファイルを補完してくれるようですね。
特に「コマンド」として認識する必要はなく、PATHにあるファイルであればなんでも補完してくれるようです。
コマンドでないファイルも補完してくれて、そのまま起動するとエラーになるようです。
よくも悪くも自己責任のUNIX流ですね。(^^)
PSはものすごくパワフルなようですが、CMD/bashとはまた違うベツモノですね。
機会があれば覚えるんでしょうが、まだまだ先ですね・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(開発・運用・管理) WindowsからSSHでサーバーにあるファイルをダウンロードできない…。 3 2022/04/24 11:08
- Windows 10 (緊急)windowsのタスクバーやアプリ?が反応しない 3 2023/03/28 05:03
- モニター・ディスプレイ どのモニターを買うか迷っているのですが、 5 2022/05/03 09:57
- Mac OS PATHを使ってcdなどで簡単に移動できるようになりたい 3 2023/05/13 14:22
- UNIX・Linux raspberrypi に bluealsaを入れようにも見つからない 1 2023/02/04 10:55
- CAD・DTP Autocad Scriptファイルからの入力とコマンドラインからの入力が違う 1 2023/08/01 09:13
- モニター・ディスプレイ HDMI変換器をつければ、モニター3台は使用可能になりますか? 5 2023/02/28 18:45
- その他(プログラミング・Web制作) DOSコマンドに詳しい方、お知恵をお貸しください 5 2022/11/04 20:55
- モニター・ディスプレイ HDMI分配器をつければ、モニター3台は使用可能になりますか? 8 2023/02/02 20:03
- Windows 10 explorerをedgeで開く方法 2 2022/06/05 14:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ubuntu(linux)のシャットダウン...
-
ubuntuのサーバー(virtual box)...
-
Ubuntu on Xorgのログインについて
-
ubuntuで デイスク/deb/loopと...
-
AWSでSSH接続をしたいのですが...
-
Linux Ubuntu22.4の起動時エラ...
-
Linux Mint 日本語入力できなく...
-
ChromebookでPythonを使いたい...
-
Linux Mint でも使えないですよ...
-
Windowsのローカルディレクトリ...
-
Ubuntuサーバーでメールを受信...
-
AppImageがインストールできな...
-
Kali Linuxで起動できない - Mi...
-
ノートPCでUSBから起動しない
-
ssl_error_logのエラー内容(AH...
-
ssl_request_logの必要性について
-
古いiMacにLinuxをインストール...
-
Let’s Encrypt の自動更新をcro...
-
windows10を使っています。 wsl...
-
Linux のシェルスクリプトの強...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
scpコマンドでリモートサーバの...
-
DOSコマンドでのワイルドカ...
-
rcpコマンドについて、教えて!
-
Illustratorのデータをまとめて...
-
telnet,rlogin,rshの違いってな...
-
IBM漢字コードのSJIS変...
-
FTP接続中のコマンド実行結果を...
-
GNOME端末の起動 及び コマンド...
-
AIX ksh利用 grep 検索で マ...
-
【ターミナル】MacBookにディー...
-
lsコマンドで表示するファイル...
-
Windows10のRegSys32に登録され...
-
別名でリンク先を保存。
-
属性変更できないです。
-
AIXの勉強方法について
-
ログイン、ログアウト時にコマ...
-
linuxのreadコマンドについて
-
cactiでグラフが表示されない
-
Macの Terminal でのエラーと...
-
Solaris rmコマンドをシェルで...
おすすめ情報