atw*_*147 1 directory vbscript excel directory-structure
我拼凑了以下VBS文件来读取Excel源文件,并使用基于Excel列A的名称和基于列B(连接)的内容创建文件.这一切都有效......
Dim xlsFile
Dim objExcel
Dim outFile
Dim path
path = "C:\Documents and Settings\Andy\Desktop\SHORTURLs\JSPs"
xlsFile = path & "\urls.xls"
Set objExcel = WScript.CreateObject("Excel.Application")
objExcel.Workbooks.open(xlsFile)
' Create the File System Object
Set objFSO = CreateObject("Scripting.FileSystemObject")
intRow = 2 'Row 1 contains headings
' Here is the loop that cycles through the cells
Do Until objExcel.Cells(intRow,1).Value = ""
strFile = objExcel.Cells(intRow, 1).Value
strDestURL = objExcel.Cells(intRow, 2).Value
' -- The heart of the create file script
'Set objTextFile = objFSO.CreateTextFile("./" & strFile & ".jsp", True)
outFile = path & "" & strFile & ".jsp"
Set objTextFile = objFSO.CreateTextFile(outFile, True)
' Prep file contents
sText = "<%" & vbCrLf
sText = sText & "//REDIRECT301" & vbCrLf
sText = sText & "//System.out.println(""<LOGGED> "" + " & strDestURL & ");" & vbCrLf
sText = sText & "String dest = """ & strDestURL & """;" & vbCrLf
sText = sText & "response.setStatus(response.SC_MOVED_PERMANENTLY); // response.SC_MOVED_TEMPORARILY [OR] response.SC_MOVED_PERMANENTLY" & vbCrLf
sText = sText & "response.setHeader(""Location"", dest);" & vbCrLf
sText = sText & "response.setHeader(""Connection"", ""close"");" & vbCrLf
sText = sText & "%>"
' Write a line.
objTextFile.Write(sText)
objTextFile.Close
intRow = intRow + 1
Loop
objExcel.Quit
WScript.Quit
Run Code Online (Sandbox Code Playgroud)
但是,我现在需要修改VBS以基于列A创建文件夹结构中的文件(列B不受影响).Excel架构:
+----------------------+----------------------+
| Column A | Column B |
+----------------------+----------------------+
| /folder/filename.jsp | /url/destination.jsp |
+----------------------+----------------------+
| /folder/filename.jsp | /url/destination.jsp |
+----------------------+----------------------+
| /folder/filename.jsp | /url/destination.jsp |
+----------------------+----------------------+
Run Code Online (Sandbox Code Playgroud)
我将如何创建文件夹和这些文件夹中的文件?仅供参考:我认为文件夹结构不应超过1深(即/folder/file.xxx不是/folder/folder/file.xxx).
PS.我知道response.setHeader()在JSP文件中是不好的做法,但遗憾的是,我们被迫这样做.
使用FSO.
.GetParentFolderName() 从文件规范中获取目录.BuildPath() 添加公共路径前缀.FolderExists() 检查是否需要创建目录.CreateFolder() 如有必要| 归档时间: |
|
| 查看次数: |
2034 次 |
| 最近记录: |