我似乎遇到了 GnuWin32 的 mkdir 的奇怪行为(来自这里):
C:\sandbox>"C:\Program Files (x86)\GnuWin32\bin\mkdir.EXE" --verbose -p Q:/scratch/foo/bar
C:\Program Files (x86)\GnuWin32\bin\mkdir.EXE: created directory `Q:/scratch'
C:\Program Files (x86)\GnuWin32\bin\mkdir.EXE: created directory `Q:/scratch/foo'
C:\Program Files (x86)\GnuWin32\bin\mkdir.EXE: created directory `Q:/scratch/foo/bar'
在上面,当前驱动器是 C,目标驱动器是 Q。正如预期的那样,层次结构在Q:/scratch/foo/bar
现在,几乎相同的示例,但当前驱动器和目标驱动器都是 C。
C:\sandbox>"C:\Program Files (x86)\GnuWin32\bin\mkdir.EXE" --verbose -p C:/scratch/foo/bar
C:\Program Files (x86)\GnuWin32\bin\mkdir.EXE: created directory `C:/scratch'
C:\Program Files (x86)\GnuWin32\bin\mkdir.EXE: created directory `C:/scratch/foo'
C:\Program Files (x86)\GnuWin32\bin\mkdir.EXE: created directory `C:/scratch/foo/bar'
mkdir 的输出看起来正确且非常可预测。但是,在C:/scratch/foo/bar
. 相反,目录层次结构是使用当前目录作为根创建的,即创建的是C:/sandbox/scratch/foo/bar
任何人都可以确认吗?这是一个错误吗?如果我有时间,我会看一下源代码,但是......
有谁知道比 5.3.0 更新的 CoreUtils 版本已移植到 Win32 ?