Windows 7でコマンドプロンプトを永続的にカスタマイズするにはどうすればよいですか?


74

プロンプトを$p$g$_$f永続的に変更したいのですが、コマンドウィンドウを再度開くたびにリセットされます。

どうすれば永遠に同じ状態を保つことができますか?


9
これは興味深い質問です(+1)。最近では、DOSプロンプトをカスタマイズできることを知っている人はほとんどいないためです。
ランドルフリチャードソン

14
これらはコマンドプロンプトと呼ばれていませんか?
-LarsTech

3
@ La-rsTech:はい、DOSはもうなくなっています。
悲しみ

7
古い習慣!常にDOSプロンプトが表示されます。
振動クレチン

2
@ランドルフ:私は確かに知りませんでした!この質問に相応しい+1。
jprete

回答:


65

PROMPTという新しい環境変数を作成します。変数値を目的のプロンプトに設定します。

ここに画像の説明を入力してください

ここに画像の説明を入力してください


2
+1最初の文で重要なことに言及する唯一の答えであることに対して。コマンドインタープリターによって発行されたプロンプトが環境変数によって制御されていることがわかると、残りは環境変数に関する一般的なスーパーユーザーの回答を適用する簡単な演習に移ります
JdeBP

実は、これはPROMPT変数の作成を言及する唯一の答えではありません-私の答えは、ステップ4でこれを言及し、読み取る: 4.「PROMPT」という変数を作成し、ご希望のプロンプトテキスト(...)を挿入します
ランドルフリチャードソン

2
技術的には、プロンプト変数も設定するコマンドを提供するため、私の回答ではPrompt変数についても言及しています。:)
EBGreen

4
EBGreenとランドルフ・リチャードソン、「最初の文で」あなたの2人を逃れているのはどうですか?
JdeBP

71

コマンドプロンプトで次を入力します。

setx Prompt $p$g$_$f

次に、コマンドプロンプトを再度開きます。

DOS / CMDコマンドのヘルプを取得する方法がわからない場合は、次のように入力します。

setx /?

取得するため:

SetX has three ways of working:

Syntax 1:
    SETX [/S system [/U [domain\]user [/P [password]]]] var value [/M]

Syntax 2:
    SETX [/S system [/U [domain\]user [/P [password]]]] var /K regpath [/M]

Syntax 3:
    SETX [/S system [/U [domain\]user [/P [password]]]]
         /F file {var {/A x,y | /R x,y string}[/M] | /X} [/D delimiters]

Description:
    Creates or modifies environment variables in the user or system
    environment. Can set variables based on arguments, regkeys or
    file input.

Parameter List:
    /S     system          Specifies the remote system to connect to.

    /U     [domain\]user   Specifies the user context under which
                           the command should execute.

    /P     [password]      Specifies the password for the given
                           user context. Prompts for input if omitted.

    var                    Specifies the environment variable to set.

    value                  Specifies a value to be assigned to the
                           environment variable.

    /K     regpath         Specifies that the variable is set based
                           on information from a registry key.
                           Path should be specified in the format of
                           hive\key\...\value. For example,
                           HKEY_LOCAL_MACHINE\System\CurrentControlSet\
                           Control\TimeZoneInformation\StandardName.

    /F     file            Specifies the filename of the text file
                           to use.

    /A     x,y             Specifies absolute file coordinates
                           (line X, item Y) as parameters to search
                           within the file.

    /R     x,y string      Specifies relative file coordinates with
                           respect to "string" as the search parameters.

    /M                     Specifies that the variable should be set in
                           the system wide (HKEY_LOCAL_MACHINE)
                           environment. The default is to set the
                           variable under the HKEY_CURRENT_USER
                           environment.

    /X                     Displays file contents with x,y coordinates.

    /D     delimiters      Specifies additional delimiters such as ","
                           or "\". The built-in delimiters are space,
                           tab, carriage return, and linefeed. Any
                           ASCII character can be used as an additional
                           delimiter. The maximum number of delimiters,
                           including the built-in delimiters, is 15.

    /?                     Displays this help message.

NOTE: 1) SETX writes variables to the master environment in the registry.

      2) On a local system, variables created or modified by this tool
         will be available in future command windows but not in the
         current CMD.exe command window.

      3) On a remote system, variables created or modified by this tool
         will be available at the next logon session.

      4) The valid Registry Key data types are REG_DWORD, REG_EXPAND_SZ,
         REG_SZ, REG_MULTI_SZ.

      5) Supported hives:  HKEY_LOCAL_MACHINE (HKLM),
         HKEY_CURRENT_USER (HKCU).

      6) Delimiters are case sensitive.

      7) REG_DWORD values are extracted from the registry in decimal
         format.

Examples:
    SETX MACHINE COMPAQ
    SETX MACHINE "COMPAQ COMPUTER" /M
    SETX MYPATH "%PATH%"
    SETX MYPATH ~PATH~
    SETX /S system /U user /P password  MACHINE COMPAQ
    SETX /S system /U user /P password MYPATH ^%PATH^%
    SETX TZONE /K HKEY_LOCAL_MACHINE\System\CurrentControlSet\
         Control\TimeZoneInformation\StandardName
    SETX BUILD /K "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows
         NT\CurrentVersion\CurrentBuildNumber" /M
    SETX /S system /U user /P password TZONE /K HKEY_LOCAL_MACHINE\
         System\CurrentControlSet\Control\TimeZoneInformation\
         StandardName
    SETX /S system /U user /P password  BUILD /K
         "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\
         CurrentVersion\CurrentBuildNumber" /M
    SETX /F ipconfig.out /X
    SETX IPADDR /F ipconfig.out /A 5,11
    SETX OCTET1 /F ipconfig.out /A 5,3 /D "#$*."
    SETX IPGATEWAY /F ipconfig.out /R 0,7 Gateway
    SETX /S system /U user /P password  /F c:\ipconfig.out /X

1
私もこれを試しましたが、完全に機能しました。しかし、あなたの方がよりまっすぐで要領を得ていたとしても、私は他の人を答えとしてマークしなければなりませんでした。彼が最初だったので、私は正しいことをしなければなりませんでした。しかし、私はあなたを支持しました。
振動クレチン

30
誰が答えとしてマークされるかはあまり気にしません。ただし、回答をマークするための重要な決定は、誰が最初に回答したかではなく、どの回答が最良であるかではないことを今後の参考のために指摘します(このままです)。回答をマークすることは担当者を与えるという点で良いことは事実ですが、答えをマークする本当の理由は、後でこの質問を見つけた人がより迅速に最良の解決策を見つけるのを助けることです。この特定のケースでは他のソリューションに問題はないため、問題ではありません。
EBGreen

1
同じことを行うには複数の方法があることを示しているため、この回答(+1)が特に気に入っています(Perl [プログラミング]で特に強調されているもの)。
ランドルフリチャードソン

3
私はそれが最初の答えではないことに同意します。二人とも、プロンプトを永久に変更する方法についての私の基本的な質問に答えました。2人が同じことを達成した場合、フォールバックは最初の答えを使用することです。あなたのものは短くて要点があり、必要最低限​​の問題に対処していましたが、彼は環境変数に関するより多くのオプションを公開する、より複雑なUIジャンプアプローチでした。答えを選択する前に、オプションを慎重に検討しました。
振動クレチン

2
あなたの答えを広げることは素晴らしいことです。現在、コンテキストが不足しています。回答の改善方法については、短い回答方法ガイドをご覧ください。それで、setx正確に何をし、なぜそれ自体をリセットし続けたのですか?
タマラWijsman

21

DOSプロンプト(または「コマンドプロンプト」)の外観を変更するには、「コンピューター」(通常はWindowsデスクトップまたはWindowsの[スタート]メニュー)を右クリックして、次の手順を実行します。

  1. 「システムの詳細設定」ラベルをクリックします
  2. 「環境変数...」ボタンをクリックします
  3. [新規...]ボタンをクリックします([ユーザー変数]はユーザーにのみ影響し、[システム変数]はすべてのユーザーに影響します)
  4. 「PROMPT」という変数を作成し、目的のプロンプトテキストを挿入します(下の最後の図に含まれています)。
  5. [OK]ボタンをクリックして、[環境変数]ウィンドウを閉じます
  6. [OK]ボタンをクリックして、[システムのプロパティ]ウィンドウを閉じます

この変更は再起動後も維持されます。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

ここに画像の説明を入力してください


2
各画像でクリックする場所を強調表示する方法が気に入っています。どのようにしてこれを達成しましたか?
コネラック

4
@Konerak:ありがとう!各ウィンドウを開き、Alt-PrintScreenを押して(現在のアクティブなウィンドウをクリップボードにコピーします)、Adobe Photoshopに貼り付けました。その後、画像の上(または前)にレイヤーを作成し、100%黒で塗りつぶし、レイヤーの不透明度を25%に変更し(画像を75%レベルでフェードスルーできるようにします)、「3pxフェザー」の長方形のマーキーツールを使用して、強調表示する領域を選択し、Deleteキーを押しました(この黒いレイヤーから削除します)。その後、画像を.PNGファイルとしてC:/ Temp /ディレクトリに保存し、ここにアップロードしました。
ランドルフリチャードソン

1
私は完全なフォトショップ初心者ですが、あなたの言っていることがわかります!次回、ユーザーにアプリケーションを提示するときに、これを試してみるつもりです。画面全体にあるMSペイントの赤い線よりもずっといいです。ありがとう!
コネラク

SnagitはPhotoshopのコストを削減し、画面のテクスチャを操作するための多くのオプションを提供します。スクリーンキャップをするのに私のお気に入りです。
EBGreen

Windows 7で環境変数にアクセスする方法の説明と、画像を強調表示する方法の説明に賛成です。便利なオタクのもの、ここに!
CigarDoug

5

コマンドプロンプトを起動するメニューコマンドまたはリンクを編集し、ターゲットを変更します。

%SystemRoot%\system32\cmd.exe /K "prompt $p$g$_$f"

カーソルの前に余分なスペースが必要な場合:

%SystemRoot%\system32\cmd.exe /K "prompt $p$g$_$f "

面白くてユニークなソリューションであるため+1。
ArtOfWarfare

4

WindowsにはWindows PowerShellが付属しており、これにより、以前のLinux専用の機能の中でもパイプライン処理が可能になりました。

[スタート]ボタンをクリックしてPowerShellを入力すると、3つのオプションが提供されて起動できます。PowerShellをクリックします。ウィンドウのタイトルバーを右クリックして、[プロパティ]を選択します。開始ウィンドウで、ビューと動作の設定を構成します。

そうでない場合は、最初にPowerShellを開く代わりに、PowerShellモジュールを選択してクリックします。

できることについては、Microsoftの資料を参照してください。

PS:コンソールアプリケーションを開発する場合、クラシックシェルはお勧めしません。


別の良い答えのために+1。「クラシックシェル」という言葉が特に好きです。
ランドルフリチャードソン

1
パイプはCMD.EXEにも存在し、従来のUNIXでの動作とほとんど同じように動作します。それらは、NTの最も初期のパブリックベータリリースからのCMD構文の一部であり、DOS上のCOMMAND.COMのコマンド構文の一部でもありました。
RBerteig

1
コマンドシェルパイプ、* nixシェルパイプ、およびpowershellパイプの大きな違いは、powershellパイプが文字列ではなくオブジェクトを渡すことです。これはゲームチェンジャーrです。
EBGreen

PowerShellは質問と何の関係がありますか?
Synetech

1
@シンテック株式会社 -直接何もありません。ただし、間接的には、プロファイル設定を介して設定できるカスタマイズ可能なプロンプトを提供することにより、質問の意図を満たすcmd.exeを使用する代わりになります。
EBGreen

1

決定的な方法:

setx prompt ""

すべてのユーザーの場合:

setx prompt "" /M

スタイルでカスタマイズ可能なプロンプトの例:

setx PROMPT "$_$e[0;1;44mN$e[1;30;47mI$e[0;1;44mC$E[35;40m $d$s$t$h$h$h$h$h$h$_$E[1;33;40m$p$_$E[0;0m~$g$s"
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.