对于下面的代码,我从props文件中获取LIBDIR。
set strDestPath=%LIBDIR%"\Libraries\python\win\"
set strPythonZipSourcePath=%CTEDIR%"\Libraries\python\win\Python27.zip"
Call :UnZipFile %strDestPath% %strPythonZipSourcePath%
如果props文件中的LIBDIR为'D:\WinLibraryes',那么我最终得到的 strDestPath 为
D:\WinLibraryes\\Libraries\python\win\
/*With double slash in the path*/
然后UnZipFile尝试访问该位置时失败。
props文件的LIBDIR可以带或不带结尾''。
我如何连接这些路径以获得像下面这样的正确路径?
D:\WinLibraryes\Libraries\python\win\
3条答案
按热度按时间gxwragnw1#
我想你可以
Set
新的变量,同时检查props文件中的变量是否存在。* (毕竟,如果它们不存在,脚本也可能不运行)*b4wnujal2#
我将把您的 LIBDIR 模拟为 TMPLIBDIR 来演示。我们测试
TMPLIBDIR
的最后一个字符,看看它是否是\
。我们并不从TMPLIBDIR中删除任何内容,而是决定是否将第一个\
放在那里。要查看不同的结果,请在脚本中的Path
之后添加\
。第一个条件在TMPLIBDIR后添加
\
,否则条件不添加。pprl5pva3#
我使用一个方便的子例程来构建路径:
产生:
请注意,如果未提供驱动器号,则使用当前驱动器。如果传入了最后一个尾随斜杠,则它将被保留。当前目录的完全限定路径总是以任何相对路径为前缀(不以'/'或''开头)。结果路径不一定存在,因此您必须创建它或测试它的存在。
为你整理好: