回答:
これは不可能です。cmd.exeのプロンプトを使用して実行できるあらゆるトリックについて説明している次の記事を参照してください。
CMD.EXEまたはCool Prompt環境変数のより良いPROMPTと素敵な透明なマルチプロンプト
ここで述べたように、より柔軟な多くのcmd置換シェルがあります。
command.exeではなく、command.comを意味していると思います。
私の意見では、cmd.exeで短いファイル名を取得する方法はありません。
T akeCommand Console LEを使用できます。無料で、多くの追加機能を備えたcmd.exeの代わりになります。(Tabキーによる)自動補完と短いファイル名をサポートします。
彼らはそれについてヘルプファイルで説明しています:
LFNドライブでは、TCCはファイル名の補完中に長いファイル名を検索して表示します。8.3の短いファイル名(SFN)を検索する場合は、ファイル名補完の使用を開始する前にCtrl-Aを押します。これにより、長いファイル名をサポートしないアプリケーションでLFNドライブでファイル名補完を使用できます。LFNToggleディレクティブを使用して、この機能に割り当てられたキーストロークを変更できます。
ファイル名の補完を開始する前であればいつでもCtrl-Aを押すことができます。SFN形式への切り替えは、現在のコマンドラインの残りに対して有効です。TCCが新しいコマンドラインを開始すると、Ctrl-Aをもう一度押すまで長いファイル名形式に戻ります。
ファイル名が表示された直後にCtrl-Aを押すと、名前が短いファイル名形式に変換されます。ただし、この機能は、最後に入力したファイル名またはディレクトリ名(カーソルとコマンドラインの最後のバックスラッシュ[]の間の部分)、および後続のエントリにのみ影響します。以前に入力したパスのすべての部分が自動的に変換されるわけではありません。
Ctrl-Aはファイル名補完モードを切り替えるため、モードを変更するたびにCtrl-Aを押すことで、長いファイル名と短いファイル名を切り替えることができます。
できません。の出力help promptは、できることのリストを提供します。
C:\>ヘルププロンプト cmd.exeコマンドプロンプトを変更します。プロンプト[テキスト]
text新しいコマンドプロンプトを指定します。
プロンプトは、通常の文字と次の特別なコードで構成できます。
$ A&(アンパサンド) $ B | (パイプ) $ C((左括弧) $ D現在の日付 $ Eエスケープコード(ASCIIコード27) $ F)(右括弧) $ G>(大なり記号) $ Hバックスペース(前の文字を消去) $ L <(小なり記号) $ N現在のドライブ $ P現在のドライブとパス $ Q =(等号) $ S(スペース) $ T現在時刻 $ V Windowsバージョン番号 $ _キャリッジリターンとラインフィード $$ $(ドル記号)
コマンド拡張機能が有効になっている場合、PROMPTコマンドは 次の追加のフォーマット文字:
$ + 0個以上のプラス記号(+)文字 PUSHDディレクトリスタックの深さ、それぞれに1文字 レベルがプッシュされました。
$ M現在のドライブに関連付けられているリモート名を表示します 現在のドライブがネットワークでない場合、文字または空の文字列 ドライブ。
およびの%~構文を使用して、他のCMDコンテキストでこの情報を取得することができます。たとえば、次のスクリプトを検討してください。callfor
@ECHO OFF 呼び出し:X "%CD%" 後藤:EOF:バツ エコー%1 エコー%〜s1
出力は次のとおりです。
「C:\ Documents and Settings」 C:\ DOCUME〜1
call /?およびfor /?を参照してください。
これがPowerShellで些細なことであることは驚くことではありません。PowerShellでは、プロンプトに独自の特別な構文はありません。それは完全に正常な機能です。使用できます
Get-ShortPath $ PWD