コマンドプロンプトを使用していくつかのファイルを移動しようとしています.Linuxターミナルに慣れており、~
を使用してどこにでも見たホームディレクトリを指定していますが、Windowsコマンドプロンプト( Documents and Settings\[user]
)
あなたは失望するでしょう:%userprofile%
ただし、他の端末を使用できます。 Powershellは、XP以降(およびWin7にプリインストールされています)で入手できると信じており、ホームディレクトリに~
を使用できます。
%HOMEDRIVE%%HOMEPATH%
ドライブの場合+ \docs settings\username
または\users\username
。
これを実現するには、%systemdrive%%homepath%
環境変数を使用できます。
2つのコマンド変数を連結すると、次のように目的のユーザーのホームディレクトリパスが得られます。
コマンドプロンプトでecho %systemdrive%
を実行すると、次の結果が得られます。
C:
コマンドプロンプトでecho %homepath%
を実行すると、次の結果が得られます。
\Users\<CurrentUserName>
一緒に使用すると、次のようになります。
C:\Users\<CurrentUserName>
更新 2018年10月19日。
他の誰かが私のアプローチを試みた場合、下の私の元の答えはスペースを処理しません。例えば、次は失敗します。
> cd "c:\Program Files"
Files""]==["~"] was unexpected at this time.
それを解決する方法があるに違いないと思います。回答を改善できる場合は、再度投稿します。
私の元の答え、まだ作業が必要です... 2018年10月7日。
私は今日それをやろうとしていました、そして私はそれを得たと思う、これは私がうまくいくと思うことです。
最初に、いくつかのdoskeyマクロ;
DOSKEY cd=cdtilde.bat $*
DOSKEY cd~=chdir /D "%USERPROFILE%"
DOSKEY cd..=chdir ..
次に、私のパスにあるbatファイル。
cdtilde.bat
@echo off
if ["%1"]==["~"] (
chdir /D "%USERPROFILE%"
) else (
chdir /D %*
)
これらはすべて正常に機能するようです。
cd ~ (traditional habit)
cd~ (shorthand version)
cd.. (shorthand for going up..)
ジェイの短いバージョンが必要な場合は、試してみてください
set usr=%userprofile%
cd %usr%
または、必要に応じて%u%を使用することもできます。とにかくいくつかのキーストロークを保存します。
私はset ~=%userprofile%
を試しましたが、同じ習慣を使い続けたい場合にもそれが機能します
その後、代わりに%~%
を使用できます。
ほぼ同じことを自分で行うことができます。環境変数を開き、「…のためのユーザー変数」の「新規」ボタンをクリックします。
変数名:〜
変数値: [ディレクトリの参照...]ボタンをクリックして、目的のディレクトリを選択します。
そして、この後、cmdを開いて次のように入力します:
cd%〜%
。できます。
~
を%userprofile%
に設定すると、PATH
の一部としてディレクトリを複製および設定する際に、各Windows PCで手動セットアップが必要になるため、移植性を維持しながらこれを行うスクリプトを作成しました。