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

[文件操作] [已解决]批处理不同目录下建立文件夹,改文件夹名称为大写的问题

我在d盘的名称为new的文件夹下有一些pat格式的文件,我要在别的地方建一个批处理bat执行文件,要求执行这个文件时在new目录下创建与该目录下所有文件同名的文件夹,
并且要求bat文件不要放在new目录下,因为我不想在每个目录下都放一个bat文件

小弟刚学习批处理但工作需要处理这样的文件,短时间找不到方法,希望大哥大姐们帮忙解决共同进步!!!!

本帖最后由 Bat_s 于 2015-1-22 16:51 编辑

@echo off
for  /f %%i in ('dir /a-d /s /b new') do md %%~dpni & move %%i %%~dpni

TOP

本帖最后由 CrLf 于 2015-1-21 23:44 编辑

来个 BJ 混编:
  1. 1>1/* :
  2. @echo off & setlocal enabledelayedexpansion
  3. (for /f "delims=" %%i in ('dir /a-d /b "D:\new\"^|cscript -nologo -e:jscript "%~0"') do (
  4.     md "D:\new\%%~ni\"
  5.     move /y "D:\new\%%i" "D:\new\%%~ni\"
  6. )) 2>nul
  7. pause & exit /b */
  8. WScript.Echo(WSH.StdIn.ReadAll().toUpperCase())
复制代码

TOP

谢谢Batcher,太感谢了,这里高手多,太好啦

TOP

回复 5# fulijung
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /a-d /b "D:\new\"') do (
  4.     set "FolderName=%%~ni"
  5.     for %%a in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  6.         set "FolderName=!FolderName:%%a=%%a!"
  7.     )
  8.     if not exist "D:\new\!FolderName!\" (
  9.         md "D:\new\!FolderName!\"
  10.     )
  11.     move /y "D:\new\%%i" "D:\new\!FolderName!\"
  12. )
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

谢谢522235677帮主的回答头像好酷哦,

TOP

本帖最后由 522235677 于 2015-1-1 14:59 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. pushd d:\new
  3. for /f "delims=" %%a in ('dir /b') do (
  4. call :str %%~na
  5. md !fn!
  6. move %%a %%~na
  7. )
  8. pause
  9. exit
  10. :str
  11. set fn=%1
  12. set str=a.A b.B c.C d.D e.E f.F g.G h.H i.I j.J k.K l.L m.M n.N o.O p.P q.Q r.R s.S t.T u.U v.V w.W x.X y.Y z.Z
  13. for %%a in (%str%) do (
  14. for /f "tokens=1,2 delims=." %%b in ("%%a") do (
  15. call set fn=%%fn:%%b=%%c%%
  16. )
  17. )
  18. exit /b
复制代码
1

评分人数

TOP

回复 4# fulijung


    不过怎么把文件夹名字改成大写呢,

TOP

感谢pcl_test大大的回答,这个论坛真好

TOP

回复 2# pcl_test

谢谢您的回答我试一下效果

TOP

回复 1# fulijung
  1. @echo off
  2. for /f "tokens=1-3 delims=." %%a in ('dir /a-d /b "D:\new\"') do (
  3. md "D:\new\%%a.%%b\"
  4. move "D:\new\%%a.%%b.%%c" "D:\new\%%a.%%b\"
  5. )
  6. pause
复制代码
1

评分人数

TOP

[已解决]bat文件不再该目录中创建与文件同名文件夹的问题

我在d盘的名称为new的文件夹下有一些pat格式的文件,我要在别的地方建一个批处理bat执行文件,要求执行这个文件时在new目录下创建与该目录下所有文件同名的文件夹,
并且要求bat文件不要放在new目录下,因为我不想在每个目录下都放一个bat文件

小弟刚学习批处理但工作需要处理这样的文件,短时间找不到方法,希望大哥大姐们帮忙解决共同进步!!!!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

TOP

返回列表