- 我有一组具有通用文件扩展名的文件,例如 *.EXT。
- 这些文件位于我 PC 上的不同文件夹中。
- 我有一个 cmd 脚本“Script.bat”,位于 C:/foo/ 文件夹中
我已经为要由这个“Script.bat”CMD 脚本打开的 *.EXT 文件设置了一个“打开方式...”文件关联。
问题是:
- 我必须使用哪个变量来指定脚本中双击的 EXT 文件的文件名和位置。
关联的应用程序,在您的情况下是您的批处理文件,将使用“双击”文件作为第一个命令行参数来调用。因此,该文件的完全限定文件名(包括“位置”)将在%1
.
示例(有点):
@echo off
REM assuming this is your "Script.bat"
echo You double clicked on "%~1"
请注意,使用%~1
而不是简单地%1
删除封闭的引号,Windows 在调用您的应用程序(批处理文件)时会自动添加这些引号。
例如,Windows 会像您这样输入它一样调用它CMD.EXE
:
Script.bat "C:\Wherever it is\file.ext"
要提取单个部分,您有几个选项:
echo Filename only: %~n1
echo Filename and extension: %~nx1
echo Drive and directory only: %~dp1
要获得完整的可能性列表,FOR /?
请在提示和页面上一直输入到最后(例如,将“%I”替换为“%1”)。