批处理命令仅从字符串获取文件路径

时间:2013-10-24 22:13:07

标签: windows batch-file

我已经搜索并找到了几个这样的示例,但我似乎没有任何工作......我正在编写一个简单的Windows批处理脚本来解压缩文件。在我的批处理脚本中,我有一个变量zipfile,它被动态分配为文件夹和子文件夹中最新的Zip文件:

for /f "tokens=*" %%a in ('dir d:\temp\*.zip /s /b /od') do set zipfile=%%a 

为了简化,考虑值:

set zipfile=d:\temp\mysubfolder\myfile.zip

如何获得完整路径“d:\ temp \ mysubfolder \”?谢谢!

2 个答案:

答案 0 :(得分:2)

有关如何在批处理文件中使用标签的信息,请参阅call /?。 它还解释了如何从参数中提取驱动器,路径和文件名。

set zipfile=d:\temp\mysubfolder\myfile.zip
call :SETZIPPATH %zipfile%
goto:eof 

:SETZIPPATH
set zippath=%~dp1

您也可以从for循环中进行调用。

答案 1 :(得分:1)

易:

for /f "tokens=*" %%a in ("%zipfile%") do (set fullpath=%%~dpa)
Echo %fullpath%

完成!确保%zipfile%没有周围的引号。

莫纳