gpt4 book ai didi

powershell - 调用表达式的替代方法

转载 作者:行者123 更新时间:2023-12-02 23:34:37 25 4
gpt4 key购买 nike

我有这个功能:

function traced()
{
write-host "$args"
invoke-expression -Command "$args"
}

我在 traced cp "$($_.FullName)" (join-path $directory $newfile)等几个地方使用了它,这样我就获得了所有被复制(或删除)的地方的日志

但是,如果目录包含空格和破折号,则会导致invoke-expression抛出。

我想我可以只定义 traced-cptraced-rm,但是如果我有很多要跟踪的函数,通用答案是什么?我只想要一个函数,该函数先打印,然后求值,然后给出确切的命令。据我了解, &运算符不是我想要的-它不适用于shell内置程序。

最佳答案

[...] so that I have a log of all of the places that get copied (or removed, or whatever)



我强烈建议您为此使用脚本记录!

您可以使用 Start-Transcript cmdlet交互地启动脚本,但是如果要保留默认启动的PowerShell的每个实例的脚本,我建议默认将其打开!

在Windows框中打开本地策略编辑器( gpedit.msc),然后导航至:
  • 计算机配置
  • >管理模板
  • > Windows组件
  • > Windows PowerShell

  • 选择名为 “打开PowerShell转录”的策略设置,将其设置为 Enabled ,并可选地配置您的首选输出目录(默认为主文件夹)。

    这样,您将始终在PowerShell中拥有完整的交互记录:)

    关于powershell - 调用表达式的替代方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58611445/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com