Windows批处理脚本必须接受具有特定扩展名的输入文件

时间:2019-01-03 06:50:46

标签: batch-file

如何使.bat文件接受以.bat文件的路径以特定扩展名结尾的文件?我是批处理命令的新手。

例如: 我必须在bat中运行以下命令:
一些命令inputfile.extension。

具有扩展名的文件必须从bat文件的路径中获取,并且必须执行此命令。

谢谢!

1 个答案:

答案 0 :(得分:0)

这可以使用发送到批处理文件(%0)的“ 0”参数完成,该参数实际上类似于%~dpnx0,甚至简化为%~f0。您只需要 d 字母和 p ath。因此,您可以尝试:

command %~dp0file.ext

甚至更为复杂(如果command.extPATH中都没有%~dp0,则可能无法工作):

pushd %cd%
cd %~dp0
command file.ext
popd
  

%~1-展开%1,删除所有引号(“)
  %~f1-将%1扩展为完全限定的路径名​​
  %~d1-仅将%1扩展为驱动器号
  %~p1-仅将%1扩展到路径
  %~n1-仅将%1扩展为文件名
  %~x1-仅将%1扩展为文件扩展名
  %~s1-扩展路径仅包含短名称
  %~a1-扩展%1到文件属性
  %~t1-将%1扩展到文件的日期/时间
  %~z1-扩展%1到文件大小
  %~$PATH:1-搜索PATH
中列出的目录                环境变量并将%1扩展为完全
               找到的第一个的限定名称。如果
               环境变量名称未定义或
               搜索找不到文件,那么此
               修饰符扩展为空字符串

     

可以组合使用修饰符以获得复合结果:

     

%~dp1-仅将%1扩展为驱动器号和路径
  %~nx1-仅将%1扩展为文件名和扩展名
  %~dp$PATH:1-搜索PATH
中列出的目录               %1的环境变量,并扩展为
              找到的第一个驱动器号和路径。
  %~ftza1-将%1扩展为类似于DIR的输出线

来自call /?