【问题标题】:Is there a way to read a variable from a .ahk file and use it in another batch script file有没有办法从 .ahk 文件中读取变量并在另一个批处理脚本文件中使用它
【发布时间】:2021-04-14 08:40:17
【问题描述】:

我不知道在另一个文件中读取另一个变量的好方法

FileReader.bat

    @echo off

:: Some how read VarX in the ahk file and then save it as another variable

SET VarXReading=%VarX%

echo %VarXReading%

pause

FileToBeRead.ahk

VarX = 69420

【问题讨论】:

  • 这目前看起来像是一个离题的代码请求。为了帮助您,请提供实际.ahk 文件内容的完整格式副本,完整说明您正在尝试做什么,您的实际批处理文件代码是什么,以及您认为其中的哪一部分是没有正常工作。
  • 我不认为这是必要的@Compo,它看起来像一个有效的问题
  • 对于关于批处理文件代码和文件内容的完全可重现问题的主题请求,需要@Spyre。这是一个技术网站,不是猜谜游戏。请阅读minimal reproducible example,了解更多信息。
  • 很公平,它确实感觉更像是代码请求而不是问题请求。我只是把它当作一个问题,询问“如何将变量从 ahk 脚本传递到批处理脚本”。
  • 我们的看法不同,@Spyre;我的意思是,我的批处理文件如何读取具有.ahk 扩展名的文件中的一行,并使用该内容创建一个变量,= 之前的数据作为变量名,之后的字符串数据= 作为它的值字符串,(我假设不包括任何前后空白字符)。您的理解是让 AHK 脚本向批处理文件发送一些内容,而我的理解是批处理文件必须读取 AHK 文件中的字符串,两者完全不同,这正是我要求提供更多信息的原因。跨度>

标签: batch-file autohotkey


【解决方案1】:

您可以将变量作为参数传递给批处理文件。例如

ahk 脚本:

SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

; Do whatever you need to here
VarX := 69420

Run batch.bat %VarX%

批处理脚本:

@echo off
SET VarXReading=%1
echo %VarXReading%
pause

只要确保批处理脚本和 ahk 脚本在同一个目录中才能正常工作

【讨论】:

  • 为了健壮性,批处理文件应该读取,1.@Echo Off,2.SetLocal EnableExtensions,3.Set "VarXReading=%~1",4.Echo(%VarXReading%,如果它被使用@调用,可选987654327@ 及其 /C 选项,5. Pause
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-07
  • 2020-08-24
相关资源
最近更新 更多