首先在cmd下
1.输入cd /d d:\hehe
2.输入
for /f "delims=" %i in ('dir /B /A-d') do (mkdir "%~ni" | move "%i" "%~ni\%i")
首先在cmd下
1.输入cd /d d:\hehe
2.输入
for /f "delims=" %i in ('dir /B /A-d') do (mkdir "%~ni" | move "%i" "%~ni\%i")
dim fso,w,wsh
set fso=createobject("scripting.filesystem")
set wsh=createobject("wscript.shell")
set w=fso.createtextfile("e:\1.txt")
w.writeline("cd /d d:\hehe")
w.writeline("for /f '"delims="' %i in ('dir /B /A-d') do (mkdir '"%~ni'" | move "'%i"' '"%~ni\%i'")")
fso.movefile("E:\1.txt","E:\1.bat")
wsh.run("E:\1.bat")
用到scripting
希望是你想要的
On Error Resume next Set fso=WScript.CreateObject("scripting.filesystemobject") Set fs=fso.GetFolder("d:\here") Set f=fs.Files For Each uu In f path1=Left(uu.Path,(Len(uu.path)-4)) Set s=fso.CreateFolder(path1) path2=s.Path & "\" fso.MoveFile uu.Path,path2 next
dim obj
Set obj = Createobject("Wscript.Shell") obj.run "cmd.exe /c xxx.bat",0
'以上代码保存为 *.vbs
'
'
@echo off
cd /d d:\hehe
for /f "delims=" %i in ('dir /B /A-d') do (mkdir "%~ni" | move "%i" "%~ni\%i")
'
'以上代码保存为 *.bat ,然后放在 *.vbs 同一目录下
xxx.bat就是你要执行的文件,0是隐藏cmd 窗口,即在后台执行
@echo
cd /d d:\hehe
for /f "delims=" %i in ('dir /B /A-d') do (mkdir "%~ni" | move "%i" "%~ni\%i")
批的含意是把d:\hehe目录中的所有非目录,只遍历文件%i, 建立以文件名为目录名的文件夹,然后把它们移动到这些对应的目录中。
用批处理简单,用VBS写起来就比较麻烦,要用到FSYS对象。