永发信息网

请问怎样在VBS中实现这两行BAT代码

答案:4  悬赏:0  手机版
解决时间 2021-04-29 09:39
  • 提问者网友:疯子也有疯子的情调
  • 2021-04-29 05:54

首先在cmd下

1.输入cd /d d:\hehe

2.输入

for /f "delims=" %i in ('dir /B /A-d') do (mkdir "%~ni" | move "%i" "%~ni\%i")

最佳答案
  • 五星知识达人网友:長槍戰八方
  • 2021-04-29 07:08

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")

全部回答
  • 1楼网友:末日狂欢
  • 2021-04-29 10:06

用到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

  • 2楼网友:雪起风沙痕
  • 2021-04-29 09:27

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 窗口,即在后台执行

  • 3楼网友:摆渡翁
  • 2021-04-29 07:58

@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对象。

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯