如何获取我用cmd文件打开的文件路径?

如何获取我用cmd文件打开的文件路径?

假设我使用回显文件路径的 cmd/bat 文件打开了一个文件,我如何获取它的路径?

例如,我c:/test.txt使用以下命令打开x.cmd

命令

@echo off

title hello

echo ******VARIABLE FOR THE PATH OF THE FILE?*******

pause 

结果:回声测试.txt屏幕上。

答案1

使用Parameter Extensions

%~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 

相关内容