私は Windows 7 を使用していますが、自分では制御できない理由により、1 つのスペースで終わるディレクトリを作成する必要があります。このディレクトリには、さまざまなファイルとサブディレクトリが含まれます。
md
私も UNC パスを使用してと を試しましたrename
が、'構文が正しくありません' と表示されるか、多くの場合、単にスペースが無視されて失敗しました。
どうすればいいですか?
答え1
Windows で末尾にスペース文字を含むディレクトリを作成するには、コマンド プロンプトを開いて次のように入力します。
md "\\?\C:\mydirectory "
ディレクトリは絶対ディレクトリ(相対ディレクトリではない)でなければならず、\\?\
同様にrdコマンドでディレクトリを削除できます。
rd "\\?\C:\mydirectory "
ただし、このコマンドでディレクトリを削除する前に、ディレクトリが空である必要があります。
答え2
Cygwinは
$ mkdir 'abcde'
$ mkdir 'abcde '
$ mkdir 'abcde '
$ ls -l
total 0
drwxr-xr-x+ 1 user None 0 May 15 17:11 abcde
drwxr-xr-x+ 1 user None 0 May 15 17:11 abcde
drwxr-xr-x+ 1 user None 0 May 15 17:11 abcde
3つの異なるディレクトリがあるので明らかに機能していますが、さらに何らかの証拠を得てみましょう。
$ echo * | xxd
0000000: 6162 6364 6520 6162 6364 6520 2061 6263 abcde abcde abc
0000010: 6465 2020 0a de .
6162 6364 65 20<---- that's the dir abcde, and echo * put a space in after as there is another item it lists.
6162 6364 6520 20 <-- that's the dir 'abcde ', and echo * displayed it with a space in as there is another item it lists
61 62636465 2020 0a <-- that's the dir 'abcde ', and echo * displayed it followed by new line(0a)
別の
lsは縦書きやカンマ付きなどの書式設定オプションを提供します。
--format=WORD
across -x, commas -m, horizontal -x, long -l, single-column -1,
verbose -l, vertical -C
--
$ ls -m
abcde, abcde , abcde
カンマの前のスペースに注意してください。これは、スペースがファイル名に含まれているためです。「,」は書式設定です。ただし、「,」は、スペースがファイル名に含まれていることを示します。
$ ls -m | xxd
0000000: 6162 6364 652c 2061 6263 6465 202c 2061 abcde, abcde , a
0000010: 6263 6465 2020 0a bcde .
--
検証のためにヘックスを見る必要もなく、非常に明確なデモンストレーションは、
$ mkdir 'abcde '
$ mkdir z
$ ls -m
abcde, abcde , abcde , abcde , z
$
Mafuがコメントで述べているように、別の方法はMingwです。MingwにはMingMackageマネージャにインストールできるMsysパッケージがあり、msysはC:\MinGW\msys\1.0\bin>
mkdir.exeなどの多くのコマンドをインストールし、bash.exeもあります。
答え3
Windows でサポートされていないファイルを作成すると、通常の方法では削除できなくなる可能性があることに注意してください。
LinuxインストールまたはライブCDを起動し、このコマンドを実行します
mkdir "<mountpoint>/dirname"
引用符が必要になります。