我想使用PowerShell生成命令列表,将文件从一个位置移动到另一个位置。(我确信PowerSell确实可以移动,但我想先看看命令列表……是的,我知道-WhatIf
)。
文件位于下一层的一系列子文件夹中,需要移动到另一台主机上相应的一系列子文件夹中。子文件夹具有8位标识符。我需要一系列命令,比如
move c:\certs\40139686\22_05_2018_16_23_Tyre-Calligraphy.jpg \\vcintra2012\images\40139686\Import\22_05_2018_16_23_Tyre-Calligraphy.jpg
move c:\certs\40152609\19_02_2018_11_34_Express.JPG \\vcintra2012\images\40152609\Import\19_02_2018_11_34_Express.JPG
该文件需要进入相应的8位标识符文件夹的\导入子目录。
下面的PowerShell将生成我需要的数据
dir -Directory |
Select -ExpandProperty Name |
dir -File |
Select-Object -Property Name, @{N='Parent';E={$_.Directory -replace 'C:\\certs\\', ''}}
40139686 22_05_2018_16_23_Tyre-Calligraphy.jpg 40152609 19_02_2018_11_34_Express.JPG 40152609 Express.JPG 40180489 27_11_2018_11_09_Appointment tuesday 5th.jpg
但我一直在研究如何获取这些数据并生成连接字符串,在PHP中是这样的
move c:\certs\$Parent\$Name \\vcintra2012\images\$Parent\Import\$Name
(好的,反斜杠可能需要转义,但希望它清楚我想要什么)
我只是不知道如何实现这种列输出的串联——我看到的任何引用都是如此。
如何在PowerShell中连接字符串和变量?
不是关于如何做到这一点。
我想我需要将输出管道到一个影响串联的表达式中,也许使用-加入
,但是我不知道如何在管道的另一边引用$家长
和$Name
?
另一种方法:
$source = 'C:\certs'
$destination = '\\vcintra2012\images'
Get-ChildItem -Path $source -Depth 1 -Recurse -File | ForEach-Object {
$targetPath = [System.IO.Path]::Combine($destination, $_.Directory.Name , 'Import')
if (!(Test-Path -Path $targetPath -PathType Container)) {
New-Item -Path $targetPath -ItemType Directory | Out-Null
}
$_ | Move-Item -Destination $targetPath
}
将您的输出导入一个循环,在循环中使用格式运算符(-f
)构建命令字符串:
... | ForEach-Object {
'move c:\certs\{0}\{1} \\vcintra2012\images\{0}\Import\{1}' -f $_.Parent, $_.Name
}
我在寻找一个更简单的解决方案。 我有一个带相应后缀的前缀列表和一个根列表。 我想说出所有可能的“单词”:《代码》A1a、《代码》B1b<代码>A2a<代码>E2e。 我想使用zip或cross之类的东西可以更容易地完成这项工作,但我不知道如何。。。
本文向大家介绍PowerShell 写输出,包括了PowerShell 写输出的使用技巧和注意事项,需要的朋友参考一下 示例 Write-Output产生输出。该输出可以转到管道之后的下一个命令或控制台,以便简单显示。 Cmdlet将对象沿着主管道(也称为“输出流”或“成功管道”)发送。要将错误对象发送到错误管道,请使用Write-Error。 Write-Output cmdlet将指定对象沿管
位置vcenter用户名密码abc 10.1 X xxx def 10.2 Y yyy 一个csv文件,其位置列是一个位置,该位置的IP列表示vCenter IP 我需要生成所有主机详细信息,并添加位置字段作为最终csv中的第一个字段,但无法这样做 实例 假设位置abc有一个带有5台主机的vcenter,位置def有一个带有3台主机的vcenter 输出shd看起来像 位置名称版本abc h1 6
我发现,对于脚本编写成瘾者来说,加入raku的一个巨大卖点就是拥有这样的结构 然而,我似乎不能写这样的东西。据我所知,使用<代码>执行此操作。substStr的方法太难看了,这种链式的s///code>或者甚至也tr///code>基本上会成为sed用户等的门户药物。 我的问题是,我是否遗漏了什么,在拉库是否有可能发生类似的事情。我不是初学者,我想不出来。
Microsoft Connect已经退役,但好消息是,对PowerShell(Core)语言中三元运算符的支持似乎正在进行中。
问题内容: 如何在Python中串联两个列表? 例: 预期结果: 问题答案: 你可以使用+运算符来组合它们: 输出: