吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 166|回复: 1
收起左侧

[已解决] [求助]powershell脚本start-job语法问题

[复制链接]
yangweining 发表于 2024-11-12 14:39
本帖最后由 yangweining 于 2024-11-12 16:49 编辑

最近发现了powershell脚本可以使用wait-job来实现脚本运行超时功能,但是遇到了一个问题。如下所示,注释的两行都可以正常执行,但是如果把代码改为字符串拼接,并将其和start-job混合使用,就会造成对应语句无法执行,不知道有没有解决办法?考虑是做成一个函数,因此对应的执行语句必然是要采用拼接的方式,拼接的代码无法与start-job混合使用吗?
[PowerShell] 纯文本查看 复制代码
$cmd = “chkdsk c:”
$logPath = “c:\\1.txt”
#cmd /c $cmd >> $logPath 
#Start-Job -ScriptBlock {cmd /c chkdsk c: >> c:\\1.txt} | Wait-Job -Timeout 10
Start-Job -ScriptBlock {cmd /c $cmd >> $logPath} | Wait-Job -Timeout 10

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

FitContent 发表于 2024-11-12 16:03
本帖最后由 FitContent 于 2024-11-12 16:05 编辑

这可能和变量作用域有关,可以使用 $using 关键字(还有其它方式),必应搜索 $using 得到更详细的信息。

Start-Job -ScriptBlock { cmd /c $using:cmd >> $using:logPath } | Wait-Job -Timeout 10

也可以使用 help about_Thread_Jobs 查看文档说明、在 Thread jobs and variables 小节中。

免费评分

参与人数 1热心值 +1 收起 理由
yangweining + 1 谢谢@Thanks!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-5 06:17

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表