windows - 如何检测调用powershell脚本的批处理文件是否由Windows启动事件运行

标签 windows powershell batch-file startup

有一个调用 Powershell 脚本的批处理文件,并且我已在 Windows 启动文件夹中创建了该批处理文件的快捷方式,因此每次 Windows 启动时都会运行 Powershell 脚本。我只是想知道我的 Powershell 脚本如何在运行时检测 Windows 启动事件期间是否由批处理文件调用,或者当用户手动运行批处理文件时是否由批处理文件调用。

最佳答案

如果用户运行时只会直接运行批处理文件而不是通过启动快捷方式,那么您可以设置启动快捷方式以在运行时将参数传递给批处理。

右键单击快捷方式并选择属性。 在目标字段中,添加一个空格,然后添加 1

例如如果是 "C:\MyDir\MyScript.bat",请将其更改为 "C:\MyDir\MyScript.bat"1

当您运行此快捷方式时,它将启动批处理文件,同时还会向批处理文件传递变量 %1 中的值 1

接下来,在批处理文件的顶部(或任何您想要的位置)添加以下内容。

@echo off
if "%1"=="1" (
   echo Hey I'm running at startup
)

如果批处理是从启动快捷方式运行的,您可以将 echo 行替换为您要运行的命令。

关于windows - 如何检测调用powershell脚本的批处理文件是否由Windows启动事件运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60482543/

相关文章:

windows - 无法在远程计算机上使用 Get-Service –ComputerName

c++ - 如何定义和使用用户类型的opencv mat

winforms - 如何在 Powershell 表单中向鼠标右键菜单添加选项

php - 错误 - 使用批处理文件运行 php 文件

windows - 批处理脚本条件下的 PowerShell 命令

batch-file - Kudu 部署后命令未运行

windows - 在Labview 2012、Windows 7操作系统中,如何验证用户写权限?

.net - 是否有 API 调用来开始扫描硬件设备

azure - 获取 Azure 混合工作人员组的上次上线时间

python - 如何使用 powershell 循环遍历文件夹中的文件并在其上运行特定的 python 代码?