标题: [文件操作] [已解决]批处理不同目录下建立文件夹,改文件夹名称为大写的问题 [打印本页]
作者: fulijung 时间: 2015-1-1 13:50 标题: [已解决]bat文件不再该目录中创建与文件同名文件夹的问题
我在d盘的名称为new的文件夹下有一些pat格式的文件,我要在别的地方建一个批处理bat执行文件,要求执行这个文件时在new目录下创建与该目录下所有文件同名的文件夹,
并且要求bat文件不要放在new目录下,因为我不想在每个目录下都放一个bat文件
小弟刚学习批处理但工作需要处理这样的文件,短时间找不到方法,希望大哥大姐们帮忙解决共同进步!!!!
作者: fulijung 时间: 2015-1-1 14:26 标题: [已解决]批处理不同目录下建立文件夹,改文件夹名称为大写的问题
我在d盘的名称为new的文件夹下有一些pat格式的文件,我要在别的地方建一个批处理bat执行文件,要求执行这个文件时在new目录下创建与该目录下所有文件同名的文件夹,
并且要求bat文件不要放在new目录下,因为我不想在每个目录下都放一个bat文件
小弟刚学习批处理但工作需要处理这样的文件,短时间找不到方法,希望大哥大姐们帮忙解决共同进步!!!!
作者: pcl_test 时间: 2015-1-1 14:36
回复 1# fulijung
- @echo off
- for /f "tokens=1-3 delims=." %%a in ('dir /a-d /b "D:\new\"') do (
- md "D:\new\%%a.%%b\"
- move "D:\new\%%a.%%b.%%c" "D:\new\%%a.%%b\"
- )
- pause
复制代码
作者: fulijung 时间: 2015-1-1 14:39
回复 2# pcl_test
谢谢您的回答我试一下效果
作者: fulijung 时间: 2015-1-1 14:43
感谢pcl_test大大的回答,这个论坛真好
作者: fulijung 时间: 2015-1-1 14:50
回复 4# fulijung
不过怎么把文件夹名字改成大写呢,
作者: 522235677 时间: 2015-1-1 14:58
本帖最后由 522235677 于 2015-1-1 14:59 编辑
- @echo off&setlocal enabledelayedexpansion
- pushd d:\new
- for /f "delims=" %%a in ('dir /b') do (
- call :str %%~na
- md !fn!
- move %%a %%~na
- )
- pause
- exit
-
- :str
- set fn=%1
- 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
-
- for %%a in (%str%) do (
- for /f "tokens=1,2 delims=." %%b in ("%%a") do (
- call set fn=%%fn:%%b=%%c%%
- )
-
- )
- exit /b
复制代码
作者: fulijung 时间: 2015-1-1 15:15
谢谢522235677帮主的回答头像好酷哦,
作者: Batcher 时间: 2015-1-1 15:21
回复 5# fulijung - @echo off
- setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /a-d /b "D:\new\"') do (
- set "FolderName=%%~ni"
- 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 (
- set "FolderName=!FolderName:%%a=%%a!"
- )
- if not exist "D:\new\!FolderName!\" (
- md "D:\new\!FolderName!\"
- )
- move /y "D:\new\%%i" "D:\new\!FolderName!\"
- )
复制代码
作者: fulijung 时间: 2015-1-1 15:24
谢谢Batcher,太感谢了,这里高手多,太好啦
作者: CrLf 时间: 2015-1-21 23:43
本帖最后由 CrLf 于 2015-1-21 23:44 编辑
来个 BJ 混编:- 1>1/* :
- @echo off & setlocal enabledelayedexpansion
- (for /f "delims=" %%i in ('dir /a-d /b "D:\new\"^|cscript -nologo -e:jscript "%~0"') do (
- md "D:\new\%%~ni\"
- move /y "D:\new\%%i" "D:\new\%%~ni\"
- )) 2>nul
- pause & exit /b */
-
- WScript.Echo(WSH.StdIn.ReadAll().toUpperCase())
复制代码
作者: Bat_s 时间: 2015-1-22 16:33
本帖最后由 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
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |