标题: [文件操作] 批处理怎样把照片放到对应文件夹并导入Excel? [打印本页]
作者: 313009282 时间: 2014-8-12 20:46 标题: 批处理怎样把照片放到对应文件夹并导入Excel?
问题一:
我的工作是拍照片,每个物体两张照片。把照片放到电脑里去后,要把每个物体的照片放入其对应的文件夹中,因为每天的照片有几百张,想用批处理。假设我原先存放大量原始照片的文件夹是a,文件名分别是001、002、003……400。要放入的文件夹分别是1、2…200。例如,把照片001和002照片放入1文件夹中,把003和004照片放入2文件中,以此类推。请问有什么实现办法?
问题二:
照片分好以后,要把照片导入到对应的excel中。例如,文件夹1有一个对应的叫1的excel文件(这些excel文件是放在外面某个文件夹内的,也可以放在对应的文件夹中),要把文件夹1中第一张照片即照片001插入到1这个excel中,请问如何实现?
作者: apang 时间: 2014-8-13 20:28
假设图片放在D:\a文件夹,命名方式:001.jpg、002.jpg、... 400.jpg
假设excel文档放在D:\b文件夹,命名方式:1.xls、2.xls、... 200.xls
插入图片到excel文档sheet1的最下方,大小800x600,自己调- @set @n=0;/* & echo off & setlocal enabledelayedexpansion
- set "picPath=D:\a"
- set "xlsPath=D:\b"
- pushd "!picPath!\"
- (for /l %%a in (1001 2 1400) do (
- set /a "n=(%%a-999)/2",n1=%%a,n2=%%a+1
- if exist !n1:~1!.jpg if exist !n2:~1!.jpg (
- md !n!
- move !n1:~1!.jpg !n!\ >nul
- move !n2:~1!.jpg !n!\ >nul
- if exist "!xlsPath!\!n!.xls" (
- echo,!xlsPath!\!n!.xls*!picPath!\!n!\!n1:~1!.jpg
- )
- )
- ))>$ 2>nul
- cscript -nologo -e:jscript "%~0"<$
- del $ & pause & exit/b & rem */
-
- ar = WScript.StdIn.ReadAll().split("\r\n");
- oExcel = new ActiveXObject("Excel.Application");
- for (i=0; i<ar.length-1; i++) {
- oBook = oExcel.WorkBooks.Open(ar[i].split("*")[0]);
- oExcel.WorkSheets(1).Activate;
- row = oExcel.ActiveSheet.UsedRange.Rows.Count + 1;
- oExcel.Visible = false;
- oPic = oExcel.ActiveSheet.Pictures.Insert(ar[i].split("*")[1]);
- oPic.ShapeRange.Width = 800;
- oPic.ShapeRange.Height = 600;
- oPic.ShapeRange.Top = oExcel.Cells(row, 1).Top + 5;
- oBook.Save(); oBook.Close();
- oPic = null; oBook = null
- }
- oExcel.Quit(); oExcel = null
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |