[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理怎样把照片放到对应文件夹并导入Excel?

问题一:
我的工作是拍照片,每个物体两张照片。把照片放到电脑里去后,要把每个物体的照片放入其对应的文件夹中,因为每天的照片有几百张,想用批处理。假设我原先存放大量原始照片的文件夹是a,文件名分别是001、002、003……400。要放入的文件夹分别是1、2…200。例如,把照片001和002照片放入1文件夹中,把003和004照片放入2文件中,以此类推。请问有什么实现办法?

问题二:
照片分好以后,要把照片导入到对应的excel中。例如,文件夹1有一个对应的叫1的excel文件(这些excel文件是放在外面某个文件夹内的,也可以放在对应的文件夹中),要把文件夹1中第一张照片即照片001插入到1这个excel中,请问如何实现?

假设图片放在D:\a文件夹,命名方式:001.jpg、002.jpg、... 400.jpg
假设excel文档放在D:\b文件夹,命名方式:1.xls、2.xls、... 200.xls
插入图片到excel文档sheet1的最下方,大小800x600,自己调
  1. @set @n=0;/* & echo off & setlocal enabledelayedexpansion
  2. set "picPath=D:\a"
  3. set "xlsPath=D:\b"
  4. pushd "!picPath!\"
  5. (for /l %%a in (1001 2 1400) do (
  6.     set /a "n=(%%a-999)/2",n1=%%a,n2=%%a+1
  7.     if exist !n1:~1!.jpg if exist !n2:~1!.jpg (
  8.         md !n!
  9.         move !n1:~1!.jpg !n!\ >nul
  10.         move !n2:~1!.jpg !n!\ >nul
  11.         if exist "!xlsPath!\!n!.xls" (
  12.             echo,!xlsPath!\!n!.xls*!picPath!\!n!\!n1:~1!.jpg
  13.         )
  14.     )
  15. ))>$ 2>nul
  16. cscript -nologo -e:jscript "%~0"<$
  17. del $ & pause & exit/b & rem */
  18. ar = WScript.StdIn.ReadAll().split("\r\n");
  19. oExcel = new ActiveXObject("Excel.Application");
  20. for (i=0; i<ar.length-1; i++) {
  21.     oBook = oExcel.WorkBooks.Open(ar[i].split("*")[0]);
  22.     oExcel.WorkSheets(1).Activate;
  23.     row = oExcel.ActiveSheet.UsedRange.Rows.Count + 1;
  24.     oExcel.Visible = false;
  25.     oPic = oExcel.ActiveSheet.Pictures.Insert(ar[i].split("*")[1]);
  26.     oPic.ShapeRange.Width = 800;
  27.     oPic.ShapeRange.Height = 600;
  28.     oPic.ShapeRange.Top = oExcel.Cells(row, 1).Top + 5;
  29.     oBook.Save(); oBook.Close();
  30.     oPic = null; oBook = null
  31. }
  32. oExcel.Quit(); oExcel = null
复制代码

TOP

返回列表