因此,我需要CMD if语句脚本将文件移动到某些文件夹,具体取决于图像名称。换句话说,脚本需要检查图像文件名:123456_large.jpg并将其移动到LARGE文件夹。但是一旦文件被移动到这个文件夹,它需要重命名为:123456.jpg而不是123456_large.jpg.
因此,if语句找到*_LARGE.jpg,移动到LARGE文件夹,重命名文件名以删除_LARGE。
有什么想法吗?
发布于 2016-11-01 17:17:07
假设所有文件都在一个公用文件夹中,并且大目录也存在于该公用文件夹中,则可以使用此方法。
@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 /?这是帮助文件的最后一部分。
发布于 2016-11-02 12:01:45
这是绝对完美的!现在有一些改进..。以前的脚本是否有同样的方法,但是如果文件名为: 123456_ALT1_large.jpg (或ALT2、ALT3、ALT4)?
https://stackoverflow.com/questions/40364942
复制相似问题