标题: [问题求助] 【已解决】vbs 有关for each ……in的用法 [打印本页]
作者: bingxing8000 时间: 2012-8-22 15:45 标题: 【已解决】vbs 有关for each ……in的用法
本帖最后由 pcl_test 于 2016-11-3 16:43 编辑
- Dim WSHShell'定义变量
- set WSHShell=CreateObject("WScript.shell") '创建一个能与操作系统沟通的对象WSHShell
- Dim fso,dc
- Set fso=CreateObject("Scripting.FileSystemObject")'创建文件系统对象
- set dc=fso.Drives '获取所有驱动器盘符
- For Each d in dc
- Dim str
- WSHShell.run("net share"&d.driveletter &"$ /delete")'关闭所有驱动器的隐藏共享
- next
- WSHShell.run("net share admin$ /delete")
- WSHShell.run("net share ipc$ /delete")'关闭admin$和ipc$管道共享
复制代码
在网上找到以上代码,请问:“For Each d in dc ”这句里面的“d”是哪来的?而且为什么是“d",不是“a”,也不是“c”?
作者: forfiles 时间: 2012-8-22 23:12
如果把所有的变量d都改成a会发生什么事情?
作者: bingxing8000 时间: 2012-8-23 08:53
回复 2# forfiles
试过了,报错。但是还是不明白。
作者: CrLf 时间: 2012-8-23 17:48
遍历对象中的元素
http://www.w3school.com.cn/vbscript/vbscript_looping.asp- Set fso = CreateObject("Scripting.FileSystemObject")
-
- For Each file In fso.GetFolder("c:\").Files
- WScript.Echo "[" & file.DateLastModified & "] " & file.Name
- Next
-
- Set fso = Nothing
复制代码
大致相当于批的:- dir /b /a-d c:\>files.txt
-
- for /f "delims=" %%a in (files.txt) do (
- echo [%%~ta] %%~nxa
- )
-
- del files.txt>nul
复制代码
作者: forfiles 时间: 2012-8-24 08:19
回复 3# bingxing8000
能否把你修改之后的代码和报错信息一起贴出来看看?
作者: czjt1234 时间: 2012-9-2 09:28
Dim d
不过是一个变量没有定义而已
作者: virus_bat 时间: 2012-9-3 09:36
试着看一看
作者: bingxing8000 时间: 2012-9-3 10:50
谢谢,各位。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |