[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 【已解决】批处理中copy "%~dp0*.exe"是什么意思

  1. COPY "%~dp0*.EXE" F:\
复制代码

什么意思啊?

我怎么不懂啊。
%~dp0*
是什么东东,我怎么看不懂,郁闷啊。。
希望得到大侠的指点,谢谢了1!

  1.      %~I          - 删除任何引号("),扩展 %I
  2.      %~fI        - 将 %I 扩展到一个完全合格的路径名
  3.      %~dI        - 仅将 %I 扩展到一个驱动器号
  4.      %~pI        - 仅将 %I 扩展到一个路径
  5.      %~nI        - 仅将 %I 扩展到一个文件名
  6.      %~xI        - 仅将 %I 扩展到一个文件扩展名
  7.      %~sI        - 扩展的路径只含有短名
  8.      %~aI        - 将 %I 扩展到文件的文件属性
  9.      %~tI        - 将 %I 扩展到文件的日期/时间
  10.      %~zI        - 将 %I 扩展到文件的大小
  11.      %~$PATH:I   - 查找列在路径环境变量的目录,并将 %I 扩展
  12.                    到找到的第一个完全合格的名称。如果环境变量名
  13.                    未被定义,或者没有找到文件,此组合键会扩展到
  14.                    空字符串
复制代码
看到I前面的字母了吗。%~dpnx0 相当于 %~0    中间有~,就是路径包含空格的话,也不会自动加引号的

TOP

回复 11# irresolute
谢谢分享!

TOP

补充说明

%~dp0%表示当前文件所在的路径,*.exe表示所有可执行的文件,合起来%~dp0*.EXE表示当前文件所在路径下的所有可执行文件,"%~dp0*.EXE" 外再加引号是为了防路径中的空格。

TOP

恍然大悟啊!哈哈
经常看到 %~dp0%

TOP

厉害阿~~~~~~~~

TOP

我也懂了!!!!!!!!!!!!

TOP

我也遇到了同样的问题,现在解决了,呵呵。感谢了

TOP

谢谢
这回知道了

TOP

原来如此。。。。。。。。。

TOP

分析的非常彻底

再次感谢,以后遇到这类问题,我可以轻易回答了
感谢namejm!

TOP

  %0 表示批处理文件自身,%~d0 表示批处理文件所在的分区,%~p0 表示批处理所在的目录(不含分区符号),而 * 表示匹配任意多个字符,组合起来,%~dp0*.exe 就是表示在批处理当前路径下所有的exe文件。
1

评分人数

尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

多看下for和call的帮助。
心绪平和,眼藏静谧。

TOP

返回列表