【发布时间】:2014-04-15 12:31:42
【问题描述】:
在特定情况下,“带空格的路径”不起作用,我需要获取 Windows 短路径名(例如 Program Files = Progra~1 和 Program Files (x86) = Progra~2)。
这是我现在正在做的事情:
[status, PATHROOT] = dos([ ...
'for %A in ("' ...
myPathWithSpace ...
'") do @echo %~sA' ...
]);
现在,我尝试使用 regexp 和 regexprep 格式化文件路径,但在某些情况下无法重现 dos 短名称。那么如何使用 MATLAB 命令重现 dos 命令呢?
这是我对regexp 和regexprep 的丑陋尝试:
PATHROOT = regexprep(regexprep(regexp(myPathWithSpace,'\w:\\\w*\s\w*\\.*','match'),'\s', ''),'(\w:\\\w{6})\w*','$1~1');
【问题讨论】:
-
您对
regexp和regexprep进行了哪些尝试,遇到了什么问题? -
@SamRoberts 我添加了我对“regexp”和“regexprep”所做的事情。我没有在原始帖子中发布它,因为它非常丑陋并且没有给出好的短路径名称。