具有IMAGE Dimmensions的CMD IF声明

时间:2016-11-01 17:05:01

标签: batch-file cmd

所以我需要CMD if语句脚本来根据图像名称将文件移动到某些文件夹。换句话说,脚本需要检查图像文件名:123456_large.jpg并将其移动到文件夹LARGE。但是一旦将文件移动到此文件夹,就需要将其重命名为:123456.jpg而不是123456_large.jpg ...

因此if语句找到*_LARGE.jpg,移至LARGE文件夹并重命名文件名以删除_LARGE

任何想法?

2 个答案:

答案 0 :(得分:0)

假设所有文件都在一个公共文件夹中,并且该公共文件夹中也存在大目录,则可以使用此文件夹。

@echo off
FOR /F "tokens=1* delims=_" %%G IN ('dir /a-d /b *.jpg') DO (
    IF /I "%%~nH"=="large" move "%%~G_%%~H" "large\%%~G%%~xH"
)

基本上这个代码的作用是什么: 获取批处理文件所在的当前文件夹中所有jpg文件的列表。 在第一个下划线处拆分文件名,并将文件名的第一部分分配给变量%% G,将文件名的其余部分分配给%% H. 使用FOR变量修饰符,然后检查没有扩展名的文件名的第二部分是否等于大。如果是,则移动文件并同时重命名,再次使用FOR变量修饰符。

如果您想了解FOR修饰符,请打开cmd提示符并输入:FOR /? 这是帮助文件的最后一部分。

答案 1 :(得分:0)

这非常完美!现在有一些改进...有没有办法在前一个脚本中执行相同的操作,但是如果文件名为:123456_ALT1_large.jpg(或ALT2,ALT3,ALT4)?