【问题标题】:Passing powershell variable to robocopy将powershell变量传递给robocopy
【发布时间】:2017-09-12 04:11:32
【问题描述】:

我有一个 robocopy 作业,将文件从一个文件夹复制到另一个位置。

"D:\inetpub\www.test.com.au\App_Data\Indexes" "D:\inetpub\www.test2.com.au\livewww\App_Data\Examine" /MIR /IS /MON:1 /MOT:5

这工作正常,但我们已经开始使用 Octopus 部署和 web 根文件夹,即 D:\inetpub\www.test2.com.au\livewww\App_Data\Examine 不一样,每次部署后都会不断变化

D:\Octopus\Dev\Presentation.Web\2017.9.320-ap\App_Data\Examine
D:\Octopus\Dev\Presentation.Web\2017.9.321-ap\App_Data\Examine
D:\Octopus\Dev\Presentation.Web\2017.9.322-ap\App_Data\Examine

我正在考虑使用 powershell 获取网站的当前根 www.test2.com.au 并将此位置传递给 robocopy。

我是 powershell 新手,从未在 powershell 中工作过,所以我的问题是,是否可以一起使用 powershell 和 robocopy,例如获取网站的当前根 www.test2.com.au 并将其传递给 robocopy 以执行命令。这怎么可能?任何帮助将不胜感激

提前致谢

【问题讨论】:

  • 这似乎对你问题的后半部分有用。分配变量$pyoi_prcsmsg = "D:\home\work\fb440.dumper\ps_list_prcsmsg.py"。然后执行命令&"python" "$pyoi_prcsmsg"。所以....& "robocopy" "D:\inetpub\www.test.com.au\App_Data\Indexes" "$rootvar" 或许?
  • 澄清一下,您只是要使用文件夹名称来确定目标吗?还是您要查询 IIS 以获取物理文件路径?我使用 Visual Studio Team Services,其中一件事是它们在执行之前对脚本执行字符串替换,这会改变您管理转义字符串数据的方式。
  • 我将在 IIS 中查询物理路径
  • 基本上我正在寻找一个PowerShell脚本来查询IIS的物理路径,然后将其传递给robocopy。能不能写出这样的脚本?

标签: windows powershell scheduled-tasks powershell-2.0 robocopy


【解决方案1】:

是的,您想做的事情是可能的。 Windows PowerShell 的 Web 服务器管理模块包括 Internet 信息服务 (IIS) cmdlet,可让您管理 IIS 的配置和运行时数据。

import-module WebAdministration
$physicalPath = Get-WebSite "Default Web Site" | % PhysicalPath

或者,如果它是一个网络应用程序

$physicalPath = Get-WebApplication "Web.Application" -Site "Default Web Site" | % PhysicalPath

现在您可以在调用 RoboCopy 等外部 exe 时使用 $physicalPath 变量。

【讨论】:

    猜你喜欢
    • 2022-01-16
    • 2015-01-14
    • 2023-01-02
    • 2021-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-10
    • 1970-01-01
    相关资源
    最近更新 更多