从批处理文件运行Powershell

问题描述 投票:1回答:3

我正在.bat文件中尝试这些命令

@echo off & setLocal EnableDelayedExpansion

powershell -NoLogo -NoProfile -Command ^    
    "$h = [int](Get-Date -Format "HH");" ^
    "$diff = (7-$h)*3600;" ^
    "if ($h -le 7 -or $h -ge 0) { ECHO $h; ECHO $diff; }"

但是这会引发错误,表明命令无法识别。在这里,我尝试获取小时数并从7中减去$ h。然后将结果乘以3600,然后在控制台上打印。]

有人可以告诉我我在做什么错吗?

[我正在.bat文件@echo off和setLocal EnableDelayedExpansion powershell中尝试这些命令-NoLogo -NoProfile -Command ^“ $ h = [int](Get-Date -Format” HH“);” ^“ $ diff =(7- $ h)* ...

powershell batch-file command
3个回答
0
投票

Caret ^必须是连续行中的最后一个字符。在代码中,第一行中有一些尾随空格。


0
投票

正确的powershell语法如下所示:


0
投票

尝试在一行中运行它们:

© www.soinside.com 2019 - 2024. All rights reserved.