我是一个没有任何编程知识的真正的新手:-) 我的任务是我无法解决的是我在文件夹中有很多图片,我需要重命名它们。我有一个带有旧文件名和新文件名的excel表。旧的和新的文件名没有任何线索。 我怎么能用PowerShell脚本呢? 提前谢谢!
答案 0 :(得分:0)
与以往一样,一些有代表性的样本数据会很有用。
这是一个基本的批处理文件(标准批处理,不是电源 - 无论如何)
@echo off
setlocal
pushd "?:\directory\where\your\pictures\are\stored
for /f "usebackqtokens=1,2delims=," %%a in ("?:\some\directoryname\file.csv") do ECHO(ren "%%~a" "%%~b"
popd
使用notepad
或真实文本编辑器(而非WORD)复制粘贴到名为 whateveryoulike .bat的文件中,您不能ren
或{ {1}}(他们是保留字)。
创建一个名为'?:\ some \ directoryname \ file.csv'从rename
(导出到csv格式)使用逗号作为分隔符然后只需在提示符处输入 whateveryoulike 即可运行批处理文件。
正如我发布的那样,将{em>文件重命名为的excel
命令将被发送到控制台。如果这些显示正确,请将ren
更改为ECHO(ren
以重命名而不是报告(安全措施,以避免在出现问题时造成损害)
请注意,此处的ren
命令将更改为目标目录。您可以省略此行及其随附的PUSHD
,然后生成的批次将在"当前目录中执行"。
这都假定您的数据格式为
popd
但你还没有向我们证明这一点。如果不是,则需要调整此方案。
答案 1 :(得分:0)
使用Powershell执行此操作。您首先要确保您的CSV文件格式为:
OldFile,NewFile
sample1.jpg,newname1.jpg
sample2.jpg,newname2.jpg
sample3.jpg,newname3.jpg
*请注意,放入标题行
非常重要然后在Powershell提示符下,您可以键入这两行并完成:
$filesToRename = Import-CSV C:\sample\rename.csv
foreach ($file In $filesToRename) {Rename-Item $file.OldFile $file.NewFile}
*请注意,如果CSV文件中的文件名不包含完整文件路径(如果它们只是文件名),请确保将工作目录更改为文件所在的位置。