Powershell 使用多个列从CSV批量重命名文件以验证文件名

Powershell 使用多个列从CSV批量重命名文件以验证文件名,powershell,Powershell,我有一个数据库转储的附件与数据库名称和一个CSV文件与三列。第一列是DB_名称,第二列是原始名称,第三列是以KB为单位的文件大小 我可以让PowerShell使用第一列重命名为第二列,但无法同时使用第三列确保重命名正确的文件。第二列有重复的原始名称,我需要确认是否按大小重命名了正确的文件 CSV内容示例: ID,Name,Size 00P3400000cd7rsEAA,201516003_8D_FINAL.doc,4236288 大致如下:if((Get Item$\.ID).Size/1kb)

我有一个数据库转储的附件与数据库名称和一个CSV文件与三列。第一列是DB_名称,第二列是原始名称,第三列是以KB为单位的文件大小

我可以让PowerShell使用第一列重命名为第二列,但无法同时使用第三列确保重命名正确的文件。第二列有重复的原始名称,我需要确认是否按大小重命名了正确的文件

CSV内容示例:

ID,Name,Size 00P3400000cd7rsEAA,201516003_8D_FINAL.doc,4236288
大致如下:
if((Get Item$\.ID).Size/1kb)-eq$\.Size(KB){Rename Item$\.ID$\.Name}
No,foreach是必需的,我的行旨在替换您的
Rename Item
。不要将较长的代码片段发布到注释中,编辑您的问题。并提供csv数据的(净化)样本。请您的问题包含其他信息并正确格式化。大致如下:
if((Get Item$\uID.Size/1kb)-eq$\uSize in KB'){Rename Item$\uID$\uName}
不,foreach是必需的,我的行旨在替换您的
重命名项目
。不要将较长的代码片段发布到注释中,编辑您的问题。并提供csv数据的(净化)样本。请将您的问题包含其他信息并正确格式化。
Import-Csv test.csv | ForEach-Object{
    Rename-Item $_.ID $_.Name
}