如何使用变量在批处理文件中设置 FI 的值[重复]

     2023-02-24     185

关键词:

【中文标题】如何使用变量在批处理文件中设置 FI 的值[重复]【英文标题】:How do I set the value for FI in a batch file using a variable [duplicate] 【发布时间】:2021-02-07 19:10:52 【问题描述】:

所以,我试图通过创建一个批处理文件来让我的生活更轻松一些,当我使用特殊命令时该批处理文件将终止特定进程。事情是这样的:

SET NAME = %1
IF NOT DEFINED NAME SET NAME = "firefox*"
SET fullcommandarg = "IMAGENAME eq " and NAME
TASKKILL /FI %fullcommandarg% /F

但我收到一个错误,即 FI 需要参数。我不是想了解批处理文件是如何工作的,但我想知道我在这里做错了什么以及可能的解决方案是什么。由于 Firefox 通常是我使用此命令关闭的应用程序,因此我将其设置为默认值。我怎样才能让它工作? 提前致谢。 P.S:如果您真的想提供帮助,请仅在此处发表评论。如果您要告诉我去读一本书或类似的东西,我会重复一遍,我并不想学习更多关于批处理文件的知识,而不是我所需要的。对于那些真正想提供帮助的人,欢迎参考链接,以防解释太长或者您没有时间输入它或其他什么。

【问题讨论】:

Batch 对 SET 语句中的空格敏感。 SET FLAG = N 将名为“FLAGSpace”的变量设置为值“SpaceN”。使用语法set "name=string" 以获得最佳结果 - 不要在分配的值中包含引号 - 它会导致问题。连接字符串的语法是 set "longstring=fixed text %shortstring%",而不是 and。由于您正在使用 %fullcommandarg% 执行 taskkill 但设置了 fullcommandargspace,因此批量替换 NOTHING%fullcommandarg% @Magoo - 谢谢。我按照您的指示编辑了我的文件,现在它可以工作了。 :D 【参考方案1】:

对于set a variable value inside an if-else,您需要将setlocal EnableDelayedExpansion!NAME! 一起使用。 据我所知,and 也不是链接字符串的命令。 请记住,SET 将变量值设置为字符串(不需要"...")。

setlocal EnableDelayedExpansion
SETLOCAL EnableExtensions
SET NAME=%1
IF NOT DEFINED NAME SET NAME=firefox*
SET fullcommandarg=IMAGENAME eq !NAME!
TASKKILL /FI !fullcommandarg! /F

【讨论】:

延迟扩展解释令人困惑,因为您在这里不需要它。 @DadiBit Delayed expansion 这里不需要 Stephan 已经写过的。也不建议运行 SETLOCAL 两次来定义所需的执行环境。在这种情况下,建议使用setlocal EnableExtensions DisableDelayedExpansion(一个命令行)来定义Windows 默认的执行环境。请阅读this answer 了解有关命令 SETLOCALENDLOCAL 的详细信息,以了解在后台每次执行 SETLOCAL 时会发生什么。

无法在 bash 脚本中设置变量 [重复]

...【发布时间】:2011-01-2809:26:06【问题描述】:我正在尝试使用按计划从AppleScript运行的bash脚本每晚自动将文件从文件夹自动移动到新文件夹。我正在尝试在MacOSX上编写bash脚本,但一直失败。简而言之,这就是我所拥有的(我所... 查看详情

如何在 C 中设置双精度数据类型变量的精度? [复制]

】如何在C中设置双精度数据类型变量的精度?[复制]【英文标题】:HowtosetprecisionfordoubledatatypevariablesinC?[duplicate]【发布时间】:2012-07-0523:55:42【问题描述】:可能重复:Mosteffectivewayforfloatanddoublecomparison在我的程序中,一些双精... 查看详情

如何在postgres中设置日期变量[重复]

】如何在postgres中设置日期变量[重复]【英文标题】:Howtosetadate-variableinpostgres[duplicate]【发布时间】:2021-04-2614:17:08【问题描述】:我有以下问题:在脚本(PL/pgSQL)中,我使用以下行3次。and$myfieldbetweento_date(\'01.07.2019\',\'DD.MM.YYYY\')... 查看详情

如何使用 HUE 在 Impala 查询中设置变量?

】如何使用HUE在Impala查询中设置变量?【英文标题】:HowdoIsetavariableinanImpalaqueryusingHUE?【发布时间】:2020-06-0820:27:21【问题描述】:我需要在长查询中的多个位置添加参数。我想使用参数,因为我需要用不同的值替换多次运行查... 查看详情

如何在 VBA 中设置全局变量

】如何在VBA中设置全局变量【英文标题】:HowtosetglobalvariablesinVBA【发布时间】:2019-07-1506:17:17【问题描述】:我想在VBA的一个模块中定义一个全局变量,并在其他VBA模块中使用它。我正在尝试关注:HowdoIdeclareaglobalvariableinVBA?我... 查看详情

如何在批处理脚本的 IF EXIST 子句中使用变量[重复]

】如何在批处理脚本的IFEXIST子句中使用变量[重复]【英文标题】:HowtouseavariableinanIFEXISTclauseinbatchscripts[duplicate]【发布时间】:2022-01-0715:57:56【问题描述】:有没有办法在批处理脚本的ifexists命令中获取变量的值?例如@echooffsetfi=... 查看详情

如何在 Netbeans 中设置环境变量?

】如何在Netbeans中设置环境变量?【英文标题】:HowtosetEnvironmentVariableinNetbeans?【发布时间】:2012-08-0303:01:36【问题描述】:我正在netbeans中运行基于maven的Spring项目。我在我的项目配置文件中使用环境变量来打开基于该变量值的... 查看详情

PHP - 如何在 PDF 文件中设置字段的值,然后保存?

】PHP-如何在PDF文件中设置字段的值,然后保存?【英文标题】:PHP-HowtosetthevalueofafieldinsideaPDFfile,thensave?【发布时间】:2013-06-1821:13:39【问题描述】:我正在构建一个应用程序来帮助为我的站点设置PDF表单。我有我使用的标准表... 查看详情

如何在 Heroku 系统变量中设置主文件夹?

】如何在Heroku系统变量中设置主文件夹?【英文标题】:HowdoIsethomefolderinHerokusystemvariable?【发布时间】:2019-08-0405:04:30【问题描述】:我正在Herokudyno上部署一个node.js应用程序并使用configmodule,这需要我使用config文件夹的位置定... 查看详情

如何在restful控制器的返回对象中设置成员变量[重复]

】如何在restful控制器的返回对象中设置成员变量[重复]【英文标题】:howtosetmembervariableinreturnobjectofrestfulcontroller[duplicate]【发布时间】:2019-10-0602:52:44【问题描述】:一个restful控制器返回的打包类,有3个成员变量:code、msg、dat... 查看详情

如何在配置文件中定义的 PowerShell 脚本中设置环境变量?

】如何在配置文件中定义的PowerShell脚本中设置环境变量?【英文标题】:HowtosetenvironmentvariablesinaPowerShellscriptdefinedinaconfigurationfile?【发布时间】:2021-07-0709:25:06【问题描述】:我有一个简单的批量偏好系统。bat将.ini重命名为.bat... 查看详情

如何在 IntelliJ 中设置 spring 活动配置文件环境变量

】如何在IntelliJ中设置spring活动配置文件环境变量【英文标题】:howtosetspringactiveprofileenvironmentvariableinIntelliJ【发布时间】:2017-05-0519:16:31【问题描述】:我在Eclipse中使用SpringBoot应用程序(maven项目)。当我运行maven项目的testclea... 查看详情

如何在 macOS 中设置 JAVA_HOME 环境变量 [重复]

】如何在macOS中设置JAVA_HOME环境变量[重复]【英文标题】:HowtosetJAVA_HOMEenvironmentvariableinmacOS[duplicate]【发布时间】:2021-09-1613:55:11【问题描述】:我是macOS的新手。我知道这个问题以前被问过很多,但所有提到的方法都不适合我。... 查看详情

在方案中设置构建变量而不是目标

...题描述】:我目前正在开发一个XCode中的iOS项目,该项目使用配置来指定我的应用程序可以连接到的不同API环境。此外,我使用目标来覆盖我的项目配置的用户定义值之一,以指定要在应用程序中使用的特定配置文件。但是,这... 查看详情

使用反射在 protobuf 中设置重复字段

】使用反射在protobuf中设置重复字段【英文标题】:settingrepeatedfieldinprotobufusingreflection【发布时间】:2017-02-0118:43:37【问题描述】:我有一个类似这样的protobuf消息:messagefoorepeateddoublevalues=1;我正在使用反射(如here解释)在我的C... 查看详情

在变量中设置生成器函数的结果[重复]

...下所示:varresults=IterableFunction().ToList();按照下面的代码,如何将结果设置为变量?function*g 查看详情

如何在模块导入/配置中设置 .env 变量

】如何在模块导入/配置中设置.env变量【英文标题】:Howtoset.envvariablesinamoduleimport/configuration【发布时间】:2020-01-1804:40:54【问题描述】:我想在我的应用中使用.env文件。我为此创建了两个文件(一个模块和一个服务):config.mod... 查看详情

如何使用 CMake 在 Visual Studio 2017 RC1 中设置环境变量?

】如何使用CMake在VisualStudio2017RC1中设置环境变量?【英文标题】:HowtosetenvironmentvariablesinVisualStudio2017RC1usingCMake?【发布时间】:2017-04-2622:27:39【问题描述】:我正在使用VisualStudio2017RC1使用新的“打开文件夹”功能加载CMake项目(C+... 查看详情