因此,这将用于重命名和移动擦除硬盘驱动器的证书。大多数计算机/笔记本电脑只有一个驱动器,因此只有一个文件。但服务器和一些PC/笔记本电脑将有多个驱动器,因此将有多个文件。我需要用新名称重命名所有文件,这是我们使用的编号-让我们说34567890。所以让我们说,我有3个文件在该目录下,我需要重命名为34567890,34567890(1),34567890(2)并将它们移动到存储文件夹。我完成了大部分工作,但我不知道如何在有多个文件时重命名。下面是我的代码:
$name= Read-Host -Prompt "Enter Scan ID"
$ext='.pdf'
$fullname=$name+$ext
Get-ChildItem -Path D:\kd\cert\ -Recurse -File | Rename-Item -NewName $fullname
If(Get-Childitem -Path C:\Intel\ -Filter $fullname)
{
Write-host "SCAN ID EXISTS"
}
Elseif((Get-ChildItem -Path D:\kd\cert\ -Force | Measure-Object).Count -eq 0)
{
Write-host "FOLDER IS EMPTY! REPORT WAS NOT COPIED!!!"
}
Else
{
Get-ChildItem -Path D:\kd\cert\ -Recurse -File | Move-Item -Destination C:\Intel
Write-host "Certificate copied!"
}
字符串
我相信它必须用ForEach-Object来完成,但我无法弄清楚。
1条答案
按热度按时间7d7tgy0s1#
我不能完全确定我是否完全理解了这个要求,但是如果我理解正确的话,像这样的东西可能是一个起点。
字符串
目标文件名是通过格式操作符
-f
组合变量$ScanID
、$Counter
和$Extension
创建的。然后文件名与目标目录组合成完整路径。重命名和移动操作是用Move-Item
一次完成的。️🤷