回答:
gravvityのdoskeyマクロのおかげで動作するようになりました。彼は&&を使用してcdコマンドとtitleコマンドを組み合わせており、完全に機能しています。レジストリを微調整して、cmdを使用するたびにこのマクロをロードするようにしました。
1)cmd_title.batというbatファイルを作成しましたが、その内容は
@echo off
title %cd%
2)このファイルをC:ドライブ(C:\ cmd_title.bat)に配置しました
3)次の内容のC:ドライブにcmd.batという別のバッチファイルを作成します
doskey cd = cd /d $* ^&^& "C:\cmd_title.bat"
title %cd%
(/ dフラグは、cdを使用して別のドライブに切り替えるためのものです)。
4)次に、regeditを開き、HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Command Processorに移動します。ここにAutoRunというキーがあります。このキーの値を変更し、cmd.batファイルの場所を引用符で囲んで設定します(例:「C:\ cmd.bat」)。
これで、cmdを開くたびに、cdが思いどおりに機能します。
基本的に&&はWindowsのコマンドチェーンに使用されます
doskey cd=@echo off$Tcd /d $*$T@title ^%cd^%$Techo on
@echo off
追加するだけなら、私は必要@
ありません。私はまた、フルパスではなく、単に現在のディレクトリ名にタイトルを設定するには、このコマンドは、より有用であることが判明@for %%* in (.) do @title %%~nx*
pushdとpopdはcdよりもはるかに便利であり、入力が速い場合はさらに多くの用途が見られると思います。cdとpushd / popdおよびコンソールウィンドウのディレクトリタイトルの問題を、パスにあるd.batと呼ばれる次のスクリプトで解決しました。
@ echo off
rem d.bat replaces CD, PUSHD, and POPD with one command that also changes the title
rem of the console window to tell the current directory. Invoked with no arg, the
rem title is updated. Use this after changing the directory by some other means.
rem The argument / invokes popd. Any other argument invokes pushd with that arg.
if not _%1 == _ (
if _%1 == _/ (
popd
) else (
pushd %*
)
)
title %CD%
少なくともWindowsシェルではできません。
可能性に「セットXtermのタイトル」エスケープシーケンスを追加することはでき%PROMPT%
ますが、Windowsのコンソールは、エスケープシーケンスをサポートしていないとして、あなたは、別の端末エミュレータ(おそらくPuTTYcygまたはSFUから何かを)必要があります。
または、Windowsコンソール機能を使用してタイトルを設定できる別のシェルを見つけます。
これらは、Windowsコンテキストでしばしば混同されるため、...
シェルは入力を読み取り、解釈します。cmd.exe
、command.com
、/bin/sh
端末、端末エミュレータ、コンソールは、画面にテキストベースのプログラム(シェルを含む)を表示します。Windows Console
、xterm
、PuTTYcyg
explorer
GUIシェルでcmd.exe
あり、テキストベースのものです。(それについて考えてみてください:Unixとcmd.exe
まったく同じで/bin/sh
、/bin/sh
常に「シェル」と呼ばれます。同様に、WindowsコンソールはX11の「ターミナルエミュレーター」と同等です。)
ファイルを作成します:cd.batそしてそこに以下を置きます:
cd %*
title %CD%
次に、次のコマンドを発行します。
doskey cd=...\cd.bat $*
「...」をcd.batへのパスに置き換えます。試してみて、動作することを確認してください。
その永続的なものにするには、dosrc.cmdを作成し、そのdoskeyコマンドをそこに入れてから、cmdショートカットを作成し、右クリックしてプロパティを選択します。
ターゲットを次のように変更します。
%windir%\system32\cmd.exe /K ...\dosrc.cmd
繰り返しますが、「...」をdosrc.cmdへのパスに置き換えます
次に、ショートカットをダブルクリックすると、cd機能が必要になります。
pushd
マクロの1つで使用するとどうなりますか?