假设我使用回显文件路径的 cmd/bat 文件打开了一个文件,我如何获取它的路径?
例如,我c:/test.txt
使用以下命令打开x.cmd
:
命令
@echo off
title hello
echo ******VARIABLE FOR THE PATH OF THE FILE?*******
pause
结果:回声测试.txt屏幕上。
答案1
%~f1 将 %1 扩展为完全限定路径名 - C:\utils\MyFile.txt %~d1 将 %1 仅扩展为驱动器号 - C: %~p1 将 %1 仅扩展为路径,例如 \utils\,这包括尾随 \ 会被某些命令解释为转义字符。 %~n1 将 %1 扩展为文件名,不带文件扩展名或路径 - MyFile 或者如果仅存在路径,且没有尾随反斜杠,则为该路径中的最后一个文件夹。 %~x1 将 %1 扩展为文件扩展名 - .txt %~s1 更改 f、n、s 和 x 的含义以引用 Short 8.3 名称(如果存在)。 %~1 展开 %1 并删除所有引号 (") %~a1 显示 %1 的文件属性 %~t1 显示 %1 的日期/时间
@echo off
title <nul & title hello
echo\Path to argument %~1
echo\Path to argument %~1 %~f1
echo\Path to argument %~1 %~dpnx1
echo\Path to argument %~2
echo\Path to argument %~2 %~f2
echo\Path to argument %~2 %~dpnx2
echo\Path to argument %~3
echo\Path to argument %~3 %~f3
echo\Path to argument %~3 %~dpnx3
pause