是否有一种方法可以根据其中包含的内容并使用数据表来重命名Excel文档。更具体地说,我收到了50多个文件(每个文件都有一个通用的随机名称),我必须在订单号后对其进行重命名。我必须手动打开文件以获得订单号,然后将文件重命名为这样。
是否存在可以在Powershell中运行的脚本或任何其他可以帮助自动重命名过程的工具?我有一个数据表,其中包含该文件夹中包含的一批订单号。我以为是一个脚本,该脚本将引用该表,然后在电子表格中查找以根据其中的订单号重命名该文件。我只是不知道是否有可能,或者怎么写。
答案 0 :(得分:1)
该脚本可能是一个很好的起点。
首先枚举某个路径(在这种情况下为c:\ temp)中的所有xlsx
文件。
打开Excel文件,在此处转到预定义的工作表("Sheet2")
,并从Cell(1,1)
“ A1”中读取值。
使用Rename-Item重命名文件。
foreach ($f in Get-ChildItem "C:\temp\" -Filter *.xlsx){
$FilePath = $files[$i].FullName
$Excel = New-Object -ComObject Excel.Application
$wb = $Excel.Workbooks.Open($FilePath)
$ws = $wb.Sheets.item("Sheet2")
$val = $ws.Cells.item(1,1).Value2
$wb.Close()
$Excel.Quit();
Rename-Item -Path $FilePath -NewName $val'.xlsx'
}