Board logo

标题: [文件操作] [已解决]批处理怎样把同文件夹下多个文件复制成更多个文件? [打印本页]

作者: ruoru376    时间: 2015-4-26 15:49     标题: [已解决]批处理怎样把同文件夹下多个文件复制成更多个文件?

简单的说就像:Ctrl+A Ctrl+V 实现一样的功能,但是要控制文件夹下文件总量小于100个
比如:目录下有个文件夹名为为 “文件夹”,而“文件夹”下有 a.txt b.txt c.txt ……(总数为8个);那么经过复制之后 “文件夹”下 就变成96个文件。含a.txt b.txt c.txt ……里面内容的分别为12个
比如:目录下有个文件夹名为为 “文件夹”,而“文件夹”下有 a.txt b.txt c.txt ……(总数为9个);那么经过复制之后“文件夹”下 就变成99个文件。含a.txt b.txt c.txt ……里面内容的分别为11个
由于对bat 不大熟悉,想了很久,终究不知道怎么做,希望各位大神,老师,指教指教!谢谢
作者: pcl_test    时间: 2015-4-26 18:12

本帖最后由 pcl_test 于 2015-4-26 18:34 编辑

需要安装WinRAR
  1. @echo off
  2. ::指定WinRAR安装路径和程序
  3. set "rarpath=C:\Program Files\WinRAR\rar.exe"
  4. "%rarpath%" a "tmp.rar" *.txt
  5. for %%a in (*.txt) do set /a n+=1
  6. set /a m=100/n
  7. set /a m-=1
  8. for /l %%b in (1 1 %m%) do (
  9. "%rarpath%" e -or "tmp.rar"
  10. )
  11. del "tmp.rar" /f /q 2>nul
  12. pause
复制代码

作者: pcl_test    时间: 2015-4-26 18:33

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for %%a in (*.txt) do (
  4. set "s=!s!"%%a","
  5. set /a n+=1
  6. )
  7. set /a m=100/n
  8. set /a m-=1
  9. for %%b in (!s!) do (
  10. for /l %%c in (1 1 %m%) do (
  11. copy %%b "%%~nb(%%c)%%~xb"
  12. )
  13. )
  14. pause
复制代码

作者: ruoru376    时间: 2015-4-26 19:51

回复 3# pcl_test
:) 还真不错,非常感谢!呵呵
作者: bailong360    时间: 2015-4-26 21:12

回复 4# ruoru376


    问题解决后,请编辑顶楼帖子在标题前面注明[已解决],并给回答者加分。
http://www.bathome.net/thread-3473-1-1.html




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2