如何在命令行中无需手动输入即可调用文件的完整路径?
命令行获取文件完整路径并调用浏览器打开PDF的解决方案
Windows 环境
- 批处理(CMD)场景
- 打开单个PDF文件:直接用系统内置的
%cd%变量获取当前工作目录的完整路径,拼接文件名即可,无需手动输入全路径,示例命令:start chrome "%cd%\test.pdf" - 批量打开当前目录下所有PDF文件:可利用for循环的变量扩展参数
%~fi自动获取每个文件的绝对路径,示例命令:for %i in (*.pdf) do start chrome "%~fi"
- 打开单个PDF文件:直接用系统内置的
- PowerShell场景
- 打开单个PDF文件:调用
Get-Item获取文件对象,直接读取FullName属性得到全路径,示例命令:Start-Process chrome (Get-Item .\test.pdf).FullName - 批量打开当前目录下所有PDF文件:
Get-ChildItem *.pdf | ForEach-Object { Start-Process chrome $_.FullName }
- 打开单个PDF文件:调用
上述方案直接指定浏览器作为打开程序,可避免start命令将文件当作可执行文件处理的问题。
Linux 环境
- 大部分发行版自带
realpath命令,可直接返回文件的绝对路径字符串,打开单个PDF示例:google-chrome $(realpath test.pdf) - 批量打开当前目录所有PDF示例:
for f in *.pdf; do google-chrome $(realpath "$f"); done - 如果系统未预装
realpath,可用readlink -f命令替代,效果完全一致。
macOS 环境
- 原生可直接用
pwd变量拼接文件名获取全路径,打开单个PDF示例:open -a "Google Chrome" "$(pwd)/test.pdf" - 批量打开当前目录所有PDF示例:
for f in *.pdf; do open -a "Google Chrome" "$(pwd)/$f"; done - 如果安装了coreutils工具包,也可以和Linux一样使用
realpath命令获取全路径。
内容的提问来源于stack exchange,提问作者Mohamed Yahya
相关产品推荐
相关产品推荐

