Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops 备份所有图片和视频但没有一个目录的批处理脚本_Loops_Batch File_For Loop - Fatal编程技术网

Loops 备份所有图片和视频但没有一个目录的批处理脚本

Loops 备份所有图片和视频但没有一个目录的批处理脚本,loops,batch-file,for-loop,Loops,Batch File,For Loop,我有我的脚本,允许我备份整个电脑中的图片和视频。它正在使用“for”循环搜索文件,但现在我希望它跳过一些特定的目录,如C:\上的“Windows”或用户目录中的“AppData”。如何修改脚本以实现目标 SET FileSizeMov=1073741824 SET FileSizePic=20000 for %%d in (C:\ D:\ E:\ F:\) do ( PUSHD %%d for /f "delims=" %%F in ('Dir /B/S/A *.mp4 *.m

我有我的脚本,允许我备份整个电脑中的图片和视频。它正在使用“for”循环搜索文件,但现在我希望它跳过一些特定的目录,如C:\上的“Windows”或用户目录中的“AppData”。如何修改脚本以实现目标

SET FileSizeMov=1073741824
SET FileSizePic=20000

for %%d in (C:\ D:\ E:\ F:\) do (
    PUSHD %%d
    for /f "delims=" %%F in ('Dir /B/S/A *.mp4 *.mov *.wmv *.avi') do if %%~zF LSS %FileSizeMov% (xcopy /h /y /c "%%F" "%~d0\allVid\")
    for /f "delims=" %%F in ('Dir /B/S/A *.jpg *.jpeg') do if %%~zF GTR %FileSizePic% (xcopy /h /y /c "%%F" "%~d0\allPic\")
    POPD
)

使用扩展
dir
命令

^|findstr /i /v /g:filename
其中filename包含要在格式中排除的目录的名称

c:\要排除的目录\

插入符号转义管道,使dir输出重定向到
findstr
/g:
指定要匹配的字符串的文件名,
/i
表示不区分大小写,
/v
表示不包括


(扩展是要执行的指令的一部分,因此它也应该包含在引号中)

使用

^|findstr /i /v /g:filename
其中filename包含要在格式中排除的目录的名称

c:\要排除的目录\

插入符号转义管道,使dir输出重定向到
findstr
/g:
指定要匹配的字符串的文件名,
/i
表示不区分大小写,
/v
表示不包括


(扩展是要执行的指令的一部分,因此它也应该包含在引号中)

使用
/EXCLUDE
/robocopy
选项和
/XD
参数一起使用怎么样?使用
robocopy
/EXCLUDE>选项和
/XD
参数一起使用怎么样。