web-dev-qa-db-ja.com

WindowsでのLinuxの "〜"(チルド)に相当するものは何ですか?

Linuxでは、チルド(~cdの後の文字:

cd ~

Windowsで同じことをするには?

毎回入力する必要があります:

cd C:\Document and Settings\freewind

退屈すぎる。

76
Freewind

cd /d "%HOMEDRIVE%%HOMEPATH%"はそれを行うでしょう-しかし、あなたがそれを改善と考えるかどうかはわかりません。

上記のコマンドのエイリアスを定義することもできます。

doskey cdhome=cd /d "%HOMEDRIVE%%HOMEPATH%"

この後はcdhomeになります。

45
Jon

Cmdを使用する場合は、cd /d %USERPROFILE%を使用できます。

または、PowerShellを使用している場合はcd ~を使用できます。

66
Nocturn

1つの可能性は、コマンドプロンプトからsubstコマンドを使用することです。

subst z: C:\Document and Settings\freewind

ドライブZ:に移動すると、ユーザーフォルダーが表示されます。

欠点は、ログインするたびに実行する必要があることです。私はバッチファイルを使用して、それを私のスタートアップフォルダーに入れましたが、これにはより洗練された解決策があるでしょう。

利点は、doskeyエイリアスとは異なり、コマンドプロンプトでディレクトリを変更するときだけでなく、普遍的に機能することです(Windowsエクスプローラー、参照ダイアログなど)。これは、「デスクトップ」ではなく、最上位レベルにドライブ文字がある古いブラウズダイアログを持つ古いプログラムに特に役立ちます。

13
mo.

あなたはこれを行うことができます:

cd %homepath%
6
Bali C

~.batというバッチファイルを作成できます。

@echo off
cd /d %USERPROFILE%

それをPATH変数に追加します([スタート]-> [[コンピューター]を右クリック]-> [プロパティ]-> [システムの詳細設定] [左の列]]-> [環境変数]

そこから、PATH変数を編集して、~.batファイルを含むフォルダーを含めます。 (これにより、ファイルへの絶対パスではなく、ファイル名だけを使用してどこからでもスクリプトを呼び出すことができます)

また、PATHEXT環境変数に.BATがどこかに含まれていることを確認してください(これにより、~ではなく~.batと入力できます)。

使用する必要がある場合は、コマンドプロンプトで~と入力します。このソリューションは永続的です。シェルを起動するたびにセットアップする必要はなく、レジストリをハックする必要もありません。

4
weberc2

残念ながら、私は完璧な解決策を知りませんが、いくつかのハックなオプションがあります:

オプション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文字に変更すると、それは不思議でした。

2
Adam Plocher

Powershellでは%variable%構文は機能しません。あなたはこれを行うことができます :

cd $env:USERPROFILE
1
Hey

PowerShellを使用すると、ユーザー名がわかっていて、ファイルディレクトリのアクセス許可が付与されている場合は、次の方法でディレクトリを移動できます。

cd \..\Users\yourUserName\Documents
cd \..\Users\yourUserName\Downloads
cd \..\Users\yourUserName\Desktop
cd \..\Users\yourUserName\music

以下のPowerShell(64ビット)の例を参照してください。私はこれをWindows 7 Pro 64bitボックスでテストしました。

Linux Lilde equivalent on Windows 7 Pro 64 Bit

0
Full Array