我需要调用zipjs.bat将路径作为参数的文件。 我打电话给.bat文件通过另一个.bat文件调用start.bat。 这两个文件不在文件系统中的相同位置,它们驻留在不同的文件夹中。在调用的批处理文件中传递相对路径
zipjs.bat驻留在\batch
和的start.bat驻留在\odt
的文件,它是作为参数被传递到zipjs.bat驻留在相同的文件夹开始。蝙蝠。
这种方式(使用绝对路径-source
)一切工作正常:
call ..\batch\zipjs.bat unzip -source C:\Users\rmrd001\git\xslt-framework\Product\dita\transformations\paragraphs\odt\source.odt.zip -destination .\MyDir -keep yes -force no
pause
以上的-source
采用绝对路径。但是当我用相对的方式改变绝对路径时,像这样:-source .\source.odt.zip
它不起作用。我试着用相对于start.bat的路径 - .\source.odt.zip
和相对于zipjs.bat - ..\odt\source.odt.zip
,但没有成功。
可能重复的答案[从相对路径和/或文件名解析绝对路径](http://stackoverflow.com/questions/1645843/resolve-absolute-path-from-relative-path-and-or-file-name) – wOxxOm
由于START.bat和你的源代码是一样的,然后就是使用批处理文件存在的目录。'%〜dp0' – Squashman