有一个调用 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/