1
  • 我有一组具有通用文件扩展名的文件,例如 *.EXT。
  • 这些文件位于我 PC 上的不同文件夹中。
  • 我有一个 cmd 脚本“Script.bat”,位于 C:/foo/ 文件夹中

我已经为要由这个“Script.bat”CMD 脚本打开的 *.EXT 文件设置了一个“打开方式...”文件关联。

问题是:

  • 我必须使用哪个变量来指定脚本中双击的 EXT 文件的文件名位置
4

1 回答 1

0

关联的应用程序,在您的情况下是您的批处理文件,将使用“双击”文件作为第一个命令行参数来调用。因此,该文件的完全限定文件名(包括“位置”)将在%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”)。

于 2012-12-09T18:21:45.293 回答