Board logo

标题: [文件操作] [已解决]批处理创建右键菜单项,实现在选中的文件夹里创建多个子文件夹 [打印本页]

作者: mryou    时间: 2016-11-23 23:52     标题: [已解决]批处理创建右键菜单项,实现在选中的文件夹里创建多个子文件夹

本帖最后由 mryou 于 2016-11-25 21:34 编辑

大家好,由于工作需要,经常需要在某一个项目文件夹下,批量新建好多子文件夹。

我想利用bat批处理来简化这重复的工作,不知道能不能实现。

例:
先把想要新建的文件夹名称,写成一个BAT文件,放在一个固定地方

           D:\BAT\newfolder.bat    #假设D盘有个新建文件夹名称的批处理模板,每次都新建:001,002,003......等文件夹

然后:
           我在E盘works工作文件夹上,右键->批量新建项目文件夹

然后:
         D:\works\001
         D:\works\002
         D:\works\003
         D:\works\.......      
--------
请问一下大家,这能实现吗?请大家帮忙,谢谢!
作者: pcl_test    时间: 2016-11-24 15:57

  1. @echo off
  2. rem 此操作需修改注册表,如果安全软件报警,选择“允许运行”或先退出安全软件
  3. set "fd=D:\BAT"
  4. 2>nul md "%fd%"
  5. echo;for /l %%%%a in (1000001 1 1000010) do (set n=%%%%a^&call md "%%~1\%%%%n:~-3%%%%")>"%fd%\createsubfolders.bat"
  6. reg add "HKCR\Directory\shell\在此文件夹里新建若干子文件夹\Command" /ve /t REG_SZ /d "\"%fd%\createsubfolders.bat\" \"%%1\"" /f
  7. pause
复制代码

作者: pcl_test    时间: 2016-11-24 19:08

  1. @echo off
  2. rem 此操作需修改注册表,如果安全软件报警,选择“允许运行”或先退出安全软件
  3. set "fd=D:\BAT"
  4. 2>nul md "%fd%"
  5. more +7 "%~f0">"%fd%\createsubfolders.vbs"
  6. reg add "HKCR\Directory\shell\在此文件夹里新建若干子文件夹\Command" /ve /t REG_SZ /d "wscript.exe \"%fd%\createsubfolders.vbs\" \"%%1\"" /f
  7. pause&exit
  8. Set fso=CreateObject("Scripting.FileSystemObject")
  9. For i=100001 to 100010
  10.     fd=WScript.Arguments(0)&"\"&Right(i,3)
  11.     If not fso.FolderExists(fd) Then fso.CreateFolder(fd)
  12. Next
复制代码

作者: mryou    时间: 2016-11-25 18:22

谢谢版主热情回复,两种方法我都测试过,基本达到我想要的效果。

还有一个小小要求,就完美了: 可以自定义新建文件夹的名称,并不是有规律的序号。
再次请教,谢谢!
作者: pcl_test    时间: 2016-11-25 18:40

回复 4# mryou

举个栗子
  1. for %%a in (
  2.     "要"
  3.     "什"
  4.     "么"
  5.     "名"
  6.     "字"
  7.     "自"
  8.     "行"
  9.     "添"
  10.     "加"
  11. ) do md "%%~a"
  12. pause
复制代码

作者: mryou    时间: 2016-11-25 21:33

谢谢!完美!




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