如何使.bat文件接受以.bat文件的路径以特定扩展名结尾的文件?我是批处理命令的新手。
例如:
我必须在bat中运行以下命令:
一些命令inputfile.extension。
具有扩展名的文件必须从bat文件的路径中获取,并且必须执行此命令。
谢谢!
答案 0 :(得分:0)
这可以使用发送到批处理文件(%0
)的“ 0”参数完成,该参数实际上类似于%~dpnx0
,甚至简化为%~f0
。您只需要 d 字母和 p ath。因此,您可以尝试:
command %~dp0file.ext
甚至更为复杂(如果command.ext
和PATH
中都没有%~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 /?