Text 需要处理子文件夹的帮助吗
所以我想制作一个.vbs来编辑文件夹中的所有.txt文件。这是我使用的代码,文件夹是Text 需要处理子文件夹的帮助吗,text,vbscript,Text,Vbscript,所以我想制作一个.vbs来编辑文件夹中的所有.txt文件。这是我使用的代码,文件夹是C:\testfolder Const ForReading = 1 Const ForWriting = 2 newline = "" line = 1 Set objFSO = CreateObject("Scripting.FileSystemObject") objStartFolder = "C:\test folder\" Dim lineCount : lineCount = 0 Dim f
C:\testfolder
Const ForReading = 1
Const ForWriting = 2
newline = ""
line = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
objStartFolder = "C:\test folder\"
Dim lineCount : lineCount = 0
Dim firstContent : firstContent = ""
Set objFolder = objFSO.GetFolder(objStartFolder)
Set colFiles = objFolder.Files
For Each objFile in colFiles
If LCase(objFSO.GetExtensionName(objFile)) = "txt" Then
lineCount = 0
firstContent = ""
FileName = objStartFolder & objFile.Name
Set objStream = objFSO.OpenTextFile(FileName, ForReading)
Do Until objStream.AtEndOfStream
lineCount = lineCount + 1
firstContent = firstContent & objStream.ReadLine & vbCrLf
If lineCount = line Then
firstContent = firstContent & newline & vbCrLf
End If
Loop
Set objStream = objFSO.OpenTextFile(FileName, ForWriting)
objStream.WriteLine firstContent
objStream.Close
End If
Next
它起作用了。并将所有文本文件更改为我希望他们说的内容,但当我在
C:\test folder
中创建一个名为SF
(C:\test folder\SF
)的文件夹时,SF
中的所有文本文件都不会更改。如何让它与子文件夹一起工作?递归是一个调用自身的函数。它被用来在树上散步
ProcessFolder DirName
Sub ProcessFolder(FolderPath)
' On Error Resume Next
Set fldr = fso.GetFolder(FolderPath)
Set Fls = fldr.files
For Each thing in Fls
msgbox Thing.Name & " " & Thing.path
Next
Set fldrs = fldr.subfolders
For Each thing in fldrs
ProcessFolder thing.path
Next
End Sub
我是用这个替换我的.vbs还是添加它?两者都不是,你可以从中学习。我为什么要写你的代码?第5行有错误。“所需对象:objFSO”。我是否设置了Set objFSO=CreateObject(“Scripting.FileSystemObject”)?所有不重要的部分都被省略。是的,你知道。您还需要设置初始目录(Dirname)。为什么呢,我会使用C:\windows(总是存在的),它会给你10000个消息框来点击。你可以在你的机器上设置一个文件夹。这是可行的(谢谢!),但是我如何将它修改到我的原始脚本中呢?我是否应该将其添加到“For Each thing in Fls”和“Next”(显示消息框的位置)之间