批处理文件图像重命名

时间:2014-11-08 22:08:02

标签: rename batch-processing

我是一个没有任何编程知识的真正的新手:-) 我的任务是我无法解决的是我在文件夹中有很多图片,我需要重命名它们。我有一个带有旧文件名和新文件名的excel表。旧的和新的文件名没有任何线索。 我怎么能用PowerShell脚本呢? 提前谢谢!

2 个答案:

答案 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文件中的文件名不包含完整文件路径(如果它们只是文件名),请确保将工作目录更改为文件所在的位置。