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

[文件操作] 批处理怎样复制全盘特定文件(如:*.MP3,MP3.*)到指定文件夹内?

本帖最后由 芥子茶 于 2015-1-15 20:17 编辑

思路如下:
运行批处理提示输入复制文件名(如输入*.MP3),输入后回车将全盘的*.MP3复制到F:/MP3內(标题显示复制文件数量,同名文件自动覆盖),后提示“是否刪除原文件”是的話输入Y(不区分大小写),删除原文件保留复制后的文件,否的话直接回车退出!!!

本帖最后由 慕夜蓝化 于 2015-1-17 18:28 编辑

这个东西只能一个卷一个卷的操作,根据你的要求,我花了些时间专门写了个查询、或者进行复制移动的bat;
你试一下。
  1. @echo off
  2. color 0f&title 慕夜蓝化&echo,&echo,
  3. setlocal enabledelayedexpansion
  4. set str=c d e f g h i j k l m n o p q r s t u v w x y z
  5. for %%i in (%str%) do (
  6.     if exist %%i: set drive=!drive!,%%i:
  7. )
  8. echo,当前计算机下盘符:%drive:,= % &echo,&set/p=------ 按任意键开始 ------<nul&pause>nul&echo,&echo,
  9. set/p ex=请输入扩展名——格式(*.mp3)or(mp3.*) :
  10. for /f "delims=. tokens=1*" %%i in ("%ex%") do (
  11.     if /i "%%i"=="*" (
  12.         call :a %%j %drive:,= %
  13.         ) else (
  14.             call :a %%i %drive:,= %
  15.     )
  16. )
  17. :a
  18. set "dp=%~5\%~1"
  19. md "%dp%" >nul 2>nul
  20. call :b %drive:,= %
  21. echo,若未复制或移动、删除文件,当前计算机的%ex%文件总数量为:%a%
  22. echo,&echo,------ 按任意键退出 ------&pause>nul&exit
  23. :b
  24. if not "%~1"=="" (
  25.     shift
  26.     for /r %~1\ %%i in (%ex%) do (
  27.         set/a a+=1
  28.         set/a n+=1
  29.         )
  30.     if defined n (
  31.         echo,%~1 盘下含有 %ex% 文件数量:!n!
  32.         set "n="
  33.         set/p imput=是否复制?(y/n^) :
  34.         if /i "!imput!"=="y" (
  35.             for /r %~1\ %%i in (%ex%) do (
  36.                 copy /y "%%~fsi" "%dp%" >nul 2>nul
  37.                 )
  38.             echo,—— 复制完成 ——
  39.             set/p input= 是否删除源文件?(y/n^) :
  40.             if /i "!input!"=="y" del /s/q/f %~1\%ex% &echo, —— 已删除  ——
  41.             set "input="
  42.             goto :b
  43.             ) else (
  44.                 goto :b
  45.             )
  46.         ) else (
  47.             echo,%~1 盘下不存在 %ex% 文件
  48.         goto :b
  49.         )
  50.     ) else (
  51.         goto :eof
  52. )
复制代码
保存为bat文件测试,一定要测试。也不要胡乱按。
踏实一些点.不要着急.你想要的时间都会给你.2

TOP

返回列表