Linuxでは、チルド(~
)cd
の後の文字:
cd ~
Windowsで同じことをするには?
毎回入力する必要があります:
cd C:\Document and Settings\freewind
退屈すぎる。
cd /d "%HOMEDRIVE%%HOMEPATH%"
はそれを行うでしょう-しかし、あなたがそれを改善と考えるかどうかはわかりません。
上記のコマンドのエイリアスを定義することもできます。
doskey cdhome=cd /d "%HOMEDRIVE%%HOMEPATH%"
この後はcdhome
になります。
Cmdを使用する場合は、cd /d %USERPROFILE%
を使用できます。
または、PowerShellを使用している場合はcd ~
を使用できます。
1つの可能性は、コマンドプロンプトからsubst
コマンドを使用することです。
subst z: C:\Document and Settings\freewind
ドライブZ:に移動すると、ユーザーフォルダーが表示されます。
欠点は、ログインするたびに実行する必要があることです。私はバッチファイルを使用して、それを私のスタートアップフォルダーに入れましたが、これにはより洗練された解決策があるでしょう。
利点は、doskeyエイリアスとは異なり、コマンドプロンプトでディレクトリを変更するときだけでなく、普遍的に機能することです(Windowsエクスプローラー、参照ダイアログなど)。これは、「デスクトップ」ではなく、最上位レベルにドライブ文字がある古いブラウズダイアログを持つ古いプログラムに特に役立ちます。
あなたはこれを行うことができます:
cd %homepath%
~.bat
というバッチファイルを作成できます。
@echo off
cd /d %USERPROFILE%
それをPATH変数に追加します([スタート]-> [[コンピューター]を右クリック]-> [プロパティ]-> [システムの詳細設定] [左の列]]-> [環境変数]
そこから、PATH変数を編集して、~.bat
ファイルを含むフォルダーを含めます。 (これにより、ファイルへの絶対パスではなく、ファイル名だけを使用してどこからでもスクリプトを呼び出すことができます)
また、PATHEXT
環境変数に.BAT
がどこかに含まれていることを確認してください(これにより、~
ではなく~.bat
と入力できます)。
使用する必要がある場合は、コマンドプロンプトで~
と入力します。このソリューションは永続的です。シェルを起動するたびにセットアップする必要はなく、レジストリをハックする必要もありません。
残念ながら、私は完璧な解決策を知りませんが、いくつかのハックなオプションがあります:
オプション1:〜をdoskeyのコマンドエイリアスに設定
doskey ~=cd /d %USERPROFILE%
これにより、単に~
と入力して、ホームディレクトリにchdirすることができます。
C:\>~
C:\Users\a>
明らかに、これは帰宅するキーストロークの数を短くします(Linuxと比較しても)が、実際にそれを別のパスの一部として使用したり、家にcdする以外の多くのことを行うことはできないため、堅牢性は低くなります。
オプション2:〜を変数に設定
より堅牢なオプションが必要な場合のもう1つのオプションは、変数を設定することです。
set ~="%USERPROFILE%"
これを使用すると、次のように使用されます。
E:\>cd /d %~%
C:\Users\a>
ほとんどのパスに挿入することもでき、単純にcdを実行することに限定されません。
両方のオプションを同時に
また、両方の方法を同時に実装することもできます。周りに%がある場合は、変数を利用します。それ以外の場合は、~
をコマンドとして扱います。
C:\>:: ECHO (display) THE VALUE OF %~%
C:\>echo %~%
C:\Users\a
C:\>:: ChDir to ~\DESKTOP
C:\>cd /d %~%\Desktop
C:\Users\a\Desktop>:: USE THE ~ COMMAND
C:\Users\a\Desktop>~
C:\Users\a>
もう1つのヒント(ちょっと関連):
これは、企業のマシンでは、少なくとも自宅のPCでは、追加のキーストロークを節約するために受け入れられない可能性が高く、%USERPROFILE%
dirを単純な名前にすることはお勧めできません。上記の例からわかるように、私のユーザーdirはC:\Users\a
です。以前は常に「aplocher」または「adamp」がありましたが、1文字に変更すると、それは不思議でした。
Powershellでは%variable%
構文は機能しません。あなたはこれを行うことができます :
cd $env:USERPROFILE