powershell - 剥离图像元数据并使用文本文件作为输入源重命名
问题描述
我可以接受 PowerShell 或基于 cmd 的建议。这就是我想要做的:
我有这个文件夹结构:
C:\Parent\Child01\ - Lots of JPG images
C:\Parent\Child02\ - Lots of JPG images
C:\Parent\Child03\ - Lots of JPG images
等等等等。
我目前正在手动执行的操作:
我将在 Child 01 文件夹中并运行此命令以从所有图像中删除元数据
exif -r -all= -ext jpg -ext gif -ext png
我有一个 txt 文件,其中每行一个关键字。我希望将当前目录(Child01)中的图像替换为我在文本文件中给出的名称。
我现在的做法是使用具有 3 列的 excel 表:
Original File Name | New File Name | Rename Command
原始文件名包含所有文件名的内容(我通过运行得到dir /b /a-d
)新文件名有我的关键字重命名命令是一个公式=concatenate("ren ",A2,".jpg ",B2, ".jpg")
这有助于我生成从命令行复制粘贴到批量重命名的公式。
有人可以帮助我处理批处理文件或 powershell 脚本,这样我就可以一次完成所有工作,好吗?
解决方案
无需打扰 Excel。它将每个 .JPG 重命名为文件的下一个名称(它应该只包含一列(“NewFileName”(无扩展名))。如果文件或行用完,它将停止。
@echo off
setlocal enabledelayedexpansion
<file.txt (
for /f "delims=:" %%a in ('dir /b *.jpg') do (
set "x="
set /p x=
if not defined x goto :eof
ECHO ren "%%a" "!x!%%~xa"
)
)
在删除ECHO
命令之前检查输出以实际启用该ren
命令。
推荐阅读
- c# - 为选定项目添加复选标记后如何更新表格视图?
- python - 如何读取 CSV 文件并将一行中的每个单元格添加到列表中?
- ios - 使用来自服务器的字符串公钥的 RSA 加密
- android - 从 Firebase 加载个人资料图片 URL 时滑行抛出“java.lang.SecurityException”
- mongodb - 如何在 Mac 中的 intelliJ Idea 中配置 mongodb,因为当您要浏览路径时没有显示任何 usr/local/mongodb 文件
- sql - 多个点找到聚会点
- html - 如何在嵌套 SVG 中设置参考点?
- vb.net - 如何从 Txt 文件创建和填充数据表
- javascript - 在 D3 中使用不同数据集更新数据的问题
- java - 尝试在没有“硬编码”的情况下创建多个用户