首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >%%~dpa的含义?

%%~dpa的含义?
EN

Stack Overflow用户
提问于 2010-09-08 19:05:28
回答 1查看 22K关注 0票数 7

我被要求维护一些批处理文件,并且我在每个批处理文件的开头反复看到这一行。

代码语言:javascript
复制
FOR /f "usebackq tokens=*" %%a IN ('%0') DO SET this_cmds_dir=%%~dpa
CD /d "%this_cmds_dir%"

有人知道第一行是做什么的吗?什么是%%~dpa?什么是%0?什么是usebackq?

EN

回答 1

Stack Overflow用户

发布于 2010-09-10 03:13:11

@Santhosh:%0将是当前批处理文件被称为的。这可以是以下任何一种形式:abc.batabc (无.bat后缀)、..\..\abc.batd:\path\to\abc.bat"e:\path with spaces\to\abc.bat",可能还有更多。

现在,使用%0进行进一步处理在任何情况下都不起作用,因为它不是以规范形式存在的。您将使用

  • %~0:删除可能出现在%0.

%0周围的引号(如果any);

  • %~n0:只使用%0的名称而不使用suffix;

  • %~nx0:使用%0;

  • %~pnx0的name+suffix :使用path+name+suffix的%0 (不使用驱动器letter);

  • %~dpnx0:使用%0.

的driveletter+path+name+suffix

如果这些参数是文件或目录,同样可以用于清理%1 (%0的第一个参数)、%2等。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3667026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档