我已经搜索并找到了几个这样的示例,但我似乎没有任何工作......我正在编写一个简单的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 \”?谢谢!
答案 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%
没有周围的引号。
莫纳