前言
索尼的文件系统很迷,微单是延续DC的文件管理,所以也就造成了DCIM文件夹下就是专门存些照片,视频又在另一个文件夹而普通人的话,又是用不上XML文件的,每次复制都很麻烦,像是之前我用佳能全画幅时候就没有这个毛病。
那有没有什么优化流程的方法?我就写了这样的一个批处理文件,用来提供给各位Windows用户使用。
只需要配置好文件然后放在SD卡目录下,就可以一键快速复制你的视频和照片到指定的文件夹,这速度可比自己去点资源管理器快多了。
如何用?
在SD卡的目录下新建文本文档然后复制这些内容
@ECHO OFF
echo 即将复制文件到指定文件夹
SET TAGETPATH= Z:\待处理\
SET PICPATH=101MSDCF
SET /P B=请输入文件夹的名称:
SET PATH=%TAGETPATH%%B%
set /p A=确认要建立文件夹 %TAGETPATH%%B% 吗?(y/n):
IF /i "%A%"=="n" EXIT ::退出
IF /i "%A%"=="y" GOTO :1 ::
CLS&%0
:1
MD %PATH%
COPY ".\DCIM\%PICPATH%\*.ARW" %PATH%
ECHO 已完成照片的复制,回车以继续视频的复制
COPY ".\PRIVATE\M4ROOT\CLIP\*.MP4" %PATH%
DEL ".\PRIVATE\M4ROOT\CLIP\*.XML"
ECHO 已完成所有文件复制,回车退出并打开文件夹
PAUSE
START %PATH%
需要注意
1.替换掉这里的【Z:\待处理\】这个文件夹名称为你常用的存放内容的文件夹
2.【101MSDCF】也要替换成你的SD卡的照片文件夹的名称
3.另存为,选择ANSI编码。
进一步加速操作
如果说你想更快,可以使用这个复制并删除SD卡文件的脚本,当然我在删除这边设置了一个判断防止误操作。(不推荐)
@ECHO OFF
echo 即将复制文件到指定文件夹
SET TAGETPATH= Z:\待处理\
SET PICPATH=101MSDCF
SET /P B=请输入文件夹的名称:
SET PATH=%TAGETPATH%%B%
set /p A=确认要建立文件夹 %TAGETPATH%%B% 吗?(y/n):
IF /i "%A%"=="n" EXIT ::退出
IF /i "%A%"=="y" GOTO :1 ::
CLS&%0
:1
MD %PATH%
COPY ".\DCIM\%PICPATH%\*.ARW" %PATH%
ECHO 已完成照片的复制,回车以继续视频的复制
COPY ".\PRIVATE\M4ROOT\CLIP\*.MP4" %PATH%
set /p A=复制已完成了,是否删除卡中的源文件?(y/n):
IF /i "%A%"=="n" EXIT ::退出
IF /i "%A%"=="y" GOTO :2 ::
CLS&%0
2:
DEL ".\PRIVATE\M4ROOT\CLIP\*.*
DEL ".\DCIM\%PICPATH%\*.*"
ECHO 已完成所有文件操作,回车退出并打开文件夹
PAUSE
START %PATH%
语句说明
首先是两个系统相关,PAUSE和@ECHO OFF,我想不用多说,PAUSE会需要获取一个任意键盘按键以进行下一步。
然后是SET,非常常用的一个语句,但是这里需要注意的是,虽然说有中文或者其他汉字会需要在前后加上英文字符【"】,但是其他时候就不要加这个了,比如说没必要再【"%TAGETPATH%"】这样,直接去掉前面的引号,像是【%TAGETPATH%】这样就可以
批处理中的判断,非常常用的一个句式,这里SET除了设置一个变量,还加了/p参数,使得这个变量可以从键盘输入,由用户进行赋值。而IF则是一个判断句式,/i用于让用户的输入不区分大小写,比如说【y】和【Y】是一样的
set /p A=复制已完成了,是否删除卡中的源文件?(y/n):
IF /i "%A%"=="n" EXIT ::退出
IF /i "%A%"=="y" GOTO :2 ::
CLS&%0
GOTO和字符(通常数字,也可以是字母)配合,从而实现这种跳转方法的操作,比如我在上面就设置了1和2
2:
DEL ".\PRIVATE\M4ROOT\CLIP\*.*
DEL ".\DCIM\%PICPATH%\*.ARW"