如果您有任何帮助,我将不胜感激。
我刚发现有一个工具'ImageMagick'可以命令行自动调整大小图像。基于这些知识,我认为执行以下操作更为明智:
文件夹结构:
当我将'X'个文件夹(每个文件夹包含一个'X'个图片)放到'import'时,我想:
将'import'中的第一个'X'文件夹(及其中的所有图片)复制到'export' - >调整为400x300px并重命名为'1a'
- 醇>
将'import'中的第一个'X'文件夹(及其中的所有图片)复制到'export' - >调整为200x150px并重命名为'1b'
*。假设首先复制了十张图片 '导出'中的'X'文件夹... 看起来像这样 - 1a,1b,2a,2b,3a,3b ...... 10a,10b
完成第一个'X'文件夹后...再次开始,直到它在'import'中到达'X'文件夹的末尾。
示例#:这只是一个假设,文件和文件夹的名称和数量我们都没有!
文件夹结构:
export - >子文件夹 - > f1,e7,DD
将“C:\ TEST \ import \ f1”中的所有图片调整为“C:\ TEST \ export \ f1 \ 1b”
将“C:\ TEST \ import \ e7”中的所有图片调整为“C:\ TEST \ export \ e7 \ 1a”
将“C:\ TEST \ import \ e7”中的所有图片调整为“C:\ TEST \ export \ e7 \ 1b”
将“C:\ TEST \ import \ DD”中的所有图片调整为“C:\ TEST \ export \ DD \ 1a”
在命令行中调整大小的ImageMagick语法:
mogrify -resize 400x300源文件
mogrify -resize 400x300 C:\ picture_name.jpg
我在他们的网站http://www.imagemagick.org/discourse-server/viewtopic.php?f=1&t=16486上找到了批处理脚本,也许它可以提供帮助。
答案 0 :(得分:0)
不确定。以下是编写批处理脚本以完成所需操作的方法(在Python中): 将其保存为runMogrify.py
import os
import string
import fnmatch
source = "c:\\TEST\\import"
target = "c:\\TEST\\export"
def mogrify(parmSource, parmTarget):
mkdirList = []
copyList = []
mogrifyList = []
mkdirList.append('mkdir "' + parmTarget + '"')
for dirpath, dirnames, filenames in os.walk (parmSource):
# print dirpath, dirnames, filenames
for (index,file) in enumerate(sorted(filenames)):
if fnmatch.fnmatch(file.lower(), '*.jpg') or \
fnmatch.fnmatch(file.lower(), '*.gif') or \
fnmatch.fnmatch(file.lower(), '*.bmp'):
sourceFDirPathFile = dirpath + "\\" + file
targetFDirPath = os.path.join (parmTarget, dirpath[1+len (parmSource):])
targetADirPathFile = targetFDirPath + "\\" + str(index+1) + "a" + os.path.splitext(file)[1]
targetBDirPathFile = targetFDirPath + "\\" + str(index+1) + "b" + os.path.splitext(file)[1]
if 'mkdir "' + targetFDirPath + '"' not in mkdirList:
mkdirList.append('mkdir "' + targetFDirPath + '"')
copyList.append('copy "' + sourceFDirPathFile + '" "' + targetADirPathFile + '"')
copyList.append('copy "' + sourceFDirPathFile + '" "' + targetBDirPathFile + '"')
mogrifyList.append('mogrify -resize 400x300 "' + targetADirPathFile + '"')
mogrifyList.append('mogrify -resize 200x150 "' + targetBDirPathFile + '"')
return mkdirList, copyList, mogrifyList
def main():
mkdirList, copyList, mogrifyList = mogrify(source, target)
f = open('RUNMOGRIFY.BAT', 'w')
f.writelines( list("%s\n" % item for item in mkdirList ) )
f.writelines( list("%s\n" % item for item in copyList ) )
f.writelines( list("%s\n" % item for item in mogrifyList) )
f.close()
if __name__=="__main__": main()
并且,在我运行上面的Python脚本之后,这是生成的批处理文件(RUNMOGRIFY.BAT) 在类似于你的测试目录上:
mkdir "c:\TEST\export"
mkdir "c:\TEST\export\folder1"
mkdir "c:\TEST\export\folder2"
mkdir "c:\TEST\export\folder3"
copy "c:\TEST\import\folder1\a.jpg" "c:\TEST\export\folder1\1a.jpg"
copy "c:\TEST\import\folder1\a.jpg" "c:\TEST\export\folder1\1b.jpg"
copy "c:\TEST\import\folder1\b.jpg" "c:\TEST\export\folder1\2a.jpg"
copy "c:\TEST\import\folder1\b.jpg" "c:\TEST\export\folder1\2b.jpg"
copy "c:\TEST\import\folder1\c.jpg" "c:\TEST\export\folder1\3a.jpg"
copy "c:\TEST\import\folder1\c.jpg" "c:\TEST\export\folder1\3b.jpg"
copy "c:\TEST\import\folder2\a.jpg" "c:\TEST\export\folder2\1a.jpg"
copy "c:\TEST\import\folder2\a.jpg" "c:\TEST\export\folder2\1b.jpg"
copy "c:\TEST\import\folder2\b.jpg" "c:\TEST\export\folder2\2a.jpg"
copy "c:\TEST\import\folder2\b.jpg" "c:\TEST\export\folder2\2b.jpg"
copy "c:\TEST\import\folder2\c.jpg" "c:\TEST\export\folder2\3a.jpg"
copy "c:\TEST\import\folder2\c.jpg" "c:\TEST\export\folder2\3b.jpg"
copy "c:\TEST\import\folder3\a.jpg" "c:\TEST\export\folder3\1a.jpg"
copy "c:\TEST\import\folder3\a.jpg" "c:\TEST\export\folder3\1b.jpg"
copy "c:\TEST\import\folder3\b.jpg" "c:\TEST\export\folder3\2a.jpg"
copy "c:\TEST\import\folder3\b.jpg" "c:\TEST\export\folder3\2b.jpg"
copy "c:\TEST\import\folder3\c.jpg" "c:\TEST\export\folder3\3a.jpg"
copy "c:\TEST\import\folder3\c.jpg" "c:\TEST\export\folder3\3b.jpg"
mogrify -resize 400x300 "c:\TEST\export\folder1\1a.jpg"
mogrify -resize 200x150 "c:\TEST\export\folder1\1b.jpg"
mogrify -resize 400x300 "c:\TEST\export\folder1\2a.jpg"
mogrify -resize 200x150 "c:\TEST\export\folder1\2b.jpg"
mogrify -resize 400x300 "c:\TEST\export\folder1\3a.jpg"
mogrify -resize 200x150 "c:\TEST\export\folder1\3b.jpg"
mogrify -resize 400x300 "c:\TEST\export\folder2\1a.jpg"
mogrify -resize 200x150 "c:\TEST\export\folder2\1b.jpg"
mogrify -resize 400x300 "c:\TEST\export\folder2\2a.jpg"
mogrify -resize 200x150 "c:\TEST\export\folder2\2b.jpg"
mogrify -resize 400x300 "c:\TEST\export\folder2\3a.jpg"
mogrify -resize 200x150 "c:\TEST\export\folder2\3b.jpg"
mogrify -resize 400x300 "c:\TEST\export\folder3\1a.jpg"
mogrify -resize 200x150 "c:\TEST\export\folder3\1b.jpg"
mogrify -resize 400x300 "c:\TEST\export\folder3\2a.jpg"
mogrify -resize 200x150 "c:\TEST\export\folder3\2b.jpg"
mogrify -resize 400x300 "c:\TEST\export\folder3\3a.jpg"
mogrify -resize 200x150 "c:\TEST\export\folder3\3b.jpg"