2016-04-06 12 views
1

別のドライブを大文字にして別のドライブに変更すると、fr以外のドライブ文字を除くすべての大文字が自動的に修正されます。 「現在では、Mのようなので、(これは、デモの目的のためだけの例です):。バッチなぜドライブ文字が非大文字になるのですか

C:\Windows\System32>cd /d a:\eXaMpLe 

a:\Example>cd /d A:\ 

A:\>cd /d a:\ 

A:\>echo.%CD%&cd /d a:\&echo.%CD% 
A:\ 
A:\ 

A:\>exit /b 0 

それでは、なぜドライブ文字の大文字と小文字の動作は、それがある方法です???

+0

どのプラットフォームを使用していますか? – aschipfl

+0

@aschipfl - StackOverflow定義による[batch-file]タグは、Windowsを意味します。投稿された「コード」のプロンプトには 'C:\ Windows \ System32'フォルダが表示されます。プラットフォームが何であるかは明らかではありませんか? – dbenham

+0

@ The Pepper - なぜそれは重要ですか?大文字と小文字を区別する文字列比較を実行しない限り、機能上の影響はありません。しかし、Windowsのパスは大文字と小文字を区別しないので、すべてのパス文字列の比較は大文字と小文字を区別しません。 – dbenham

答えて

1

私はそれがどのように重要かはわかりませんが、その行動は私が以前気づいたことです。

私は答えは分かりませんが、私は推測することができます。

フォルダ名の大文字小文字はボリュームのディレクトリに格納されているため、CDコマンドは実際に入力されたものを無視して、ディレクトリ内の大文字と小文字を単に使用します。しかし、ボリューム文字がボリュームのディレクトリに格納されているとは思わないので、CDコマンドは入力されたドライブ文字の大文字と小文字をそのまま保存します。

0

ドライブ文字は、定義されたキャプリゼーションなしでのみ存在するとします。
cd,<driveLetter>:,pushdまたはpopdコマンドの最後の影響のみが表示されます。

これらのコマンドは、新しいディレクトリが以前と異なる場合にのみディレクトリに影響を与えます。

cd c:\ 
cd c:\windows - Affects the directory and therefore the drive letter case 
pushd C:\windows - doesn't affect the current directory 
cd .. 
popd - Affects the directory and therefore the drive letter case 
関連する問題