带通配符的 Powershell 复制

问题描述 投票:0回答:2

以下效果很好。 复制项目 -Path C:\Users\Administrator\Desktop\EA\MT4\EA_bot.ex4 -Destination C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal C2BFA140CA8FBEFEDCADDDEDD61AA24\MQL4\Experts\

但是我想对所有具有以下通配符的目录执行此操作,有很多实例: C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\*\MQL4\Experts\

谢谢你,

我在linux中使用了*,这在PS中不起作用

powershell copy wildcard copy-item
2个回答
0
投票

使用

Get-ChildItem
循环遍历所有目录。您可以用一句话来完成此操作。

Get-ChildItem -Path "C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\*\MQL4\Experts\" -Directory | ForEach-Object { Copy-Item -Path "C:\Users\Administrator\Desktop\EA\MT4\EA_bot.ex4" -Destination $_.FullName }

这会将

EA_bot.exe
复制到
MQL4\Experts\
 中任意目录下的 
C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal\


0
投票

我实际上更进一步,这可能会帮助其他人。这将使用 2 个命令一次性将所有 *.ex4 或所有 *.ex5 文件复制到 MT4 或 MT5 的所有实例。它从我的本地计算机复制到 VPS 服务器,我只是将文件保存到本地 MT4 或 MT5。我更改路径只是为了好玩,不要使用你的桌面,微软将其同步到他们的云,这只会让东西运行缓慢。

Get-ChildItem -路径“C:\Users\Administrator\AppData\Roaming\MetaQuotes\Terminal*\MQL4\Experts”-目录 | ForEach-Object { Copy-Item -Path " sclient\C\NOTYOURDESKTOPMICROSOFT\MT4*.ex4" -Destination $.FullName } Get-ChildItem -路径“C:\ Users \ Administrator \ AppData \ Roaming \ MetaQuotes \ Terminal * \ MQL5 \ Experts”-目录| ForEach-Object { Copy-Item -Path " sclient\C\NOTYOURDESKTOPMICROSOFT\MT5*.ex5" -Destination $.FullName }

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