【问题标题】:grab filename that triggered batch script into variable将触发批处理脚本的文件名抓取到变量中
【发布时间】:2014-04-19 05:56:16
【问题描述】:

我有一个特定的文件,我想用我正在尝试创建的批处理打开。

我正在尝试执行以下操作:

1) 获取触发批处理文件的已单击扩展名的文件名。 2) 将该名称作为参数放入批处理文件中。

这就是我所拥有的:

START "Test" "C:\Temp\Test.exe" param1 "filename"

所以我认为最好的方法是在开始时为其分配一个变量,但不确定这是否可能?如果是这样,那么我可以将该变量添加到 param1。

任何反馈/帮助将不胜感激。

【问题讨论】:

  • 右键,点击文件名。所以我在 Windows 资源管理器的目录中有一堆具有特定文件扩展名的文件。我希望所有具有该扩展名的文件在点击后执行原始帖子。
  • 抱歉,不是“右键单击”我在“正确”之后有一个逗号,表示您是对的,我在最初的帖子中并不清楚。我不想右键单击任何文件。只需双击文件即可调用批处理。谢谢
  • 不,该部分已完成,您可以将其与批处理文件相关联。我说的是在与它的扩展名关联的批处理文件中使用被单击的文件的名称作为变量。
  • 我的问题确实与添加变量有关,而不是如何使用特定程序打开文件。如果他们不知道该怎么做,我不能指望有人回答我的问题,但感谢您的尝试。

标签: windows batch-file scripting


【解决方案1】:

所以你想用 C:\Temp\Test.exe 使用 param1 和文件名打开一个名为 Test 的文件 这样做:

@echo off
cd C:\Temp
Test param1 "filename"

【讨论】:

  • 感谢 Mihal,这与我想要做的很接近。使用您的示例,我想单击一个名为 Example.prop 的文件,该文件将在 Test.exe 上打开(这部分我已经有了),但随后在 param1 上添加了 Example.prop 。所以我需要找到一种方法将文件名作为变量放入批处理中。
  • parm1%1parm2%2 作为批处理变量!
  • 哦,parm1 是将文件拖放到应用程序中时的文件名。如果你想写它没有“”这样做: %~1
  • 嗯我试过了,但它不工作,检查我的场景:我点击了一个名为 example.properties 的文件,它触发了其中包含的 example.bat: START "Test" "C:\Temp \Test.exe" 参数1 "-M" 参数1 %~2 |||我需要 example.properties 其中 %~2 是
  • 看我的例子:@echo off title Simple parm1 and parm2 if "%1"=="" ( echo TYPE IT LIKE THIS: test TEST TEST2 goto end ) if "%2"==" " ( echo TYPE IT LIKE THIS: test TEST TEST2 goto end ) echo parm1 is %1 echo parm2 is %2 pause > nul :end
猜你喜欢
  • 1970-01-01
  • 2019-08-16
  • 2011-06-16
  • 1970-01-01
  • 2011-02-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多