首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mkdir的GnuWin32端口有错误吗?

mkdir的GnuWin32端口有错误吗?
EN

Stack Overflow用户
提问于 2020-12-19 11:14:49
回答 1查看 39关注 0票数 0

我似乎遇到了GnuWin32的mkdir (来自here)的一个奇怪的行为:

代码语言:javascript
复制
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。

代码语言:javascript
复制
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

有人能证实吗?这是一个bug吗?如果我有时间,我会看源代码的,但是....

有没有人知道移植到Win32上的比5.3.0更新的CoreUtils版本?

EN

回答 1

Stack Overflow用户

发布于 2021-01-08 00:45:13

看起来确实是一个很小的bug。似乎GnuWin32的端口不喜欢驱动器号后面的冒号后面的正斜杠。使用反斜杠,它可以正确地使用

代码语言:javascript
复制
C:\sandbox> mkdir --verbose -p Q:\scratch/foo/bar

代码语言:javascript
复制
C:\sandbox> mkdir --verbose -p C:\scratch/foo/bar

但是(据报道)当使用正斜杠时,它只有在

代码语言:javascript
复制
C:\sandbox> mkdir --verbose -p Q:/scratch/foo/bar

(在上面的中,请注意目标位于与提示符不同的驱动器上),而不是

代码语言:javascript
复制
C:\sandbox> mkdir --verbose -p C:/scratch/foo/bar

(在上面的中,请注意目标与提示符在同一驱动器上)

来自UnxUtils的真正旧的mkdir端口一直都有正确的行为。这是我能找到的唯一可行的替代方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65366338

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档