如何使用bat文件从startup/autostart文件夹运行powershell脚本?

如何使用bat文件从startup/autostart文件夹运行powershell脚本?,powershell,batch-file,Powershell,Batch File,这些文件是否放在cmd上下文中,然后执行/键入? .bat文件刚刚运行,但powershell文件不能刚刚运行 如何使其在没有bat文件的情况下运行?您需要创建两个文件:第一个是Powershell脚本(例如script.ps1),第二个是.cmd文件,其中包含将在命令提示符下运行的命令(例如startup.cmd) 第二个文件是计算机启动时需要执行的文件,简单地将.ps1复制粘贴到启动文件夹将不起作用,因为这实际上不会执行脚本-它只会使用记事本打开文件。您需要执行.cmd,它本身将使用Powe

这些文件是否放在cmd上下文中,然后执行/键入? .bat文件刚刚运行,但powershell文件不能刚刚运行


如何使其在没有bat文件的情况下运行?

您需要创建两个文件:第一个是Powershell脚本(例如script.ps1),第二个是.cmd文件,其中包含将在命令提示符下运行的命令(例如startup.cmd)

第二个文件是计算机启动时需要执行的文件,简单地将.ps1复制粘贴到启动文件夹将不起作用,因为这实际上不会执行脚本-它只会使用记事本打开文件。您需要执行.cmd,它本身将使用PowerShell执行.ps1。好了,别再唠叨了,接着讲步骤:

创建.ps1脚本并将其放在文件夹中。为了简单起见,我把它放在我的桌面上。路径将如下所示:

C:\Users\\Desktop\script.ps1

创建一个.cmd文件并将其放入

C:\Users\\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\Startup.cmd

这样做将在每次启动时执行cmd文件。如果你需要帮助

使用文本编辑器打开.cmd文件并输入以下行:

PowerShell-Command“Set ExecutionPolicy Unrestricted”>%TEMP%\StartupLog.txt“2>&1 PowerShell C:\Users\\Desktop\script.ps1>>%TEMP%\StartupLog.txt”2>&1

这将做两件事:

将PowerShell的执行策略设置为无限制。这是运行脚本所必需的,否则PowerShell将无法执行此操作。 使用PowerShell执行在指定路径中找到的.ps1脚本

此代码专门用于PowerShell v1.0。如果您运行的是PowerShell v2.0,则可能会有所不同。在任何情况下,请检查此源代码中的.cmd代码

保存.cmd文件


现在,您的.ps1和.cmd文件位于各自的路径中,并且每个文件的脚本都已设置好。

您需要创建两个文件:第一个是Powershell脚本(例如script.ps1),第二个是.cmd文件,其中包含将在命令提示符下运行的命令(例如startup.cmd)

第二个文件是计算机启动时需要执行的文件,简单地将.ps1复制粘贴到启动文件夹将不起作用,因为这实际上不会执行脚本-它只会使用记事本打开文件。您需要执行.cmd,它本身将使用PowerShell执行.ps1。好了,别再唠叨了,接着讲步骤:

创建.ps1脚本并将其放在文件夹中。为了简单起见,我把它放在我的桌面上。路径将如下所示:

C:\Users\\Desktop\script.ps1

创建一个.cmd文件并将其放入

C:\Users\\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\Startup.cmd

这样做将在每次启动时执行cmd文件。如果你需要帮助

使用文本编辑器打开.cmd文件并输入以下行:

PowerShell-Command“Set ExecutionPolicy Unrestricted”>%TEMP%\StartupLog.txt“2>&1 PowerShell C:\Users\\Desktop\script.ps1>>%TEMP%\StartupLog.txt”2>&1

这将做两件事:

将PowerShell的执行策略设置为无限制。这是运行脚本所必需的,否则PowerShell将无法执行此操作。 使用PowerShell执行在指定路径中找到的.ps1脚本

此代码专门用于PowerShell v1.0。如果您运行的是PowerShell v2.0,则可能会有所不同。在任何情况下,请检查此源代码中的.cmd代码

保存.cmd文件


现在,您的.ps1和.cmd文件位于各自的路径中,并且每个路径都有脚本,您就都设置好了。

您不需要批处理文件(
.bat
.cmd
文件)。只需创建一个到
%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe的快捷方式-文件which.ps1
。您可能需要使用
-ExecutionPolicy
参数来允许脚本。从Cmd.exe或powershell提示符运行
powershell/?
以获取更多信息。

您不需要批处理文件(
.bat
.Cmd
文件)。只需创建一个到
%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe的快捷方式-文件which.ps1
。您可能需要使用
-ExecutionPolicy
参数来允许脚本。从Cmd.exe或powershell提示符运行
powershell/?
以获取更多信息。

I您应该使用。这样你就不用处理执行策略了。我认为你应该使用。这使您不必处理执行策略。但是,当我登录到自动启动脚本的服务器时,如何知道它确实是自动启动的,并显示日期+时间?因此,我希望有一个蝙蝠调用.ps1。但有了.bat还有其他问题在等待……你说的“它确实是自动开始显示日期+时间”是什么意思?你是在说从
启动
文件夹运行什么,还是。。。?(我想你需要澄清你的问题。)是的,我想从startup文件夹运行.ps1。我希望在cmd窗口中显示与.ps1类似的Write主机的所有输出。所以我可以控制脚本运行时的内容。只需运行powershell.exe并指定
-File
参数即可运行脚本。PowerShell脚本将在控制台窗口中运行。请确保
-File
参数是PowerShell.exe命令行上的最后一个参数。(/?帮助,
powershell/?
,明确地告诉我们这一点。)但是,当我登录到自动启动脚本的服务器时,如何知道它确实是自动启动的,显示了日期+时间?因此,我希望有一个蝙蝠调用.ps1。但有了.bat还有其他问题在等待……你说的“它确实是自动开始显示日期+时间”是什么意思?你是说跑步吗