要复制和执行的Powershell脚本

时间:2013-04-19 06:07:25

标签: powershell copy-item

基本上从输入提供的网络路径(例如“\ _SERVER \ SHARE”)我想将特定的Excel文件复制到我的桌面并自动运行它。问题是我的桌面上还有其他包含字母ZZZ的Excel文件。有任何想法吗?谢谢!

$title = "Copy ZZZ to Desktop"
$zzzpath = read-host Paste ZZZ path here
copy-item "$zzzpath\*ZZZ*.xlsx" "C:\Users\%username%\Desktop\"
Invoke-Item C:\Users\%username%\Desktop\*ZZZ*.xlsx

2 个答案:

答案 0 :(得分:2)

您可以将Copy-Item的输出传递给您的Invoke-Item,强制前者将其输出传递给后者(通过-PassThru):

$title = "Copy ZZZ to Desktop"
$zzzpath = Read-Host Paste ZZZ path here

Copy-Item "$zzzpath\*ZZZ*.xlsx" "C:\Users\%username%\Desktop\" -PassThru |
    Invoke-Item

答案 1 :(得分:0)

我想我会做这样的事情:

$path = read-host "Enter/paste path"
$localdesktop = $env:userprofile, "\desktop" -join ("")

$xlsdoc = Get-ChildItem -path $path | where {$_.Name -match ".xlsx$" -and $_.Name -match "ZZZ"}

Copy-Item -path ($xlsdoc.FullName) -destination $localdesktop

$copiedxls = Get-ChildItem -path $localdesktop | where {$_.Name -match ".xlsx$" -and $_.Length -match $xlsdoc.Length}

Sleep -s 5

start $copiedxls.FullName

start $copiedxls

编辑:我使用'.lenght'属性来比较filesize。这就是我决定“zzz.xlsx”开始的方式。

Erlend。