首页 > 解决方案 > 如何在 ?s 所在的位置写入文件名和父文件夹名称

问题描述

<Name>VEH_"?"</Name>

<Item><Name>?</Name><Variations type="NULL"/></Item>

编码:

Dim fso, folder, files, OutputFile
Dim strPath

Const ForReading = 1
Const ForWriting = 2
 
' Create a FileSystemObject  
Set fso = CreateObject("Scripting.FileSystemObject")

' Define folder we want to list files from
strPath = "D:\folder\img"
 
Set folder = fso.GetFolder(strPath)
Set files = folder.Files
 
' Create text file to output test data
Set OutputFile = fso.CreateTextFile("Vehichlespawnwhead.txt", True)
OutputFile.WriteLine("<Name>VEH_"parentfoldername"</Name>")
  OutputFile.WriteLine("")

' Loop through each file  
For each item In files
 
  ' Output file properties to a text file
  OutputFile.WriteLine("<Item><Name>(item.Name)</Name><Variations type=""NULL""/></Item>")
  OutputFile.WriteLine("")
   
Next
 
' Close text file
OutputFile.Close

现在如果运行文本文件将读取

<Name>VEH_"parentfoldername"</Name>

<Item><Name>(item.Name)</Name><Variations type="NULL"/></Item>
<Item><Name>(item.Name)</Name><Variations type="NULL"/></Item>

<Name>VEH_img</Name>
  <Item><Name>file1</Name><Variations type="NULL"/></Item>
  <Item><Name>file2</Name><Variations type="NULL"/></Item>

file1 和 file2 不应包含它们的扩展名

抱歉,我是全新的格式问题

标签: vbscript

解决方案


欢迎来到 SO。你很亲近!

您需要做的就是使用folder.Name(第 18 行),并fso.GetBaseName(item.Name)在您的 For 循环中使用(第 25 行);当然,也要使用正确的字符串连接。

例如:

Dim fso, folder, files, OutputFile
Dim strPath

Const ForReading = 1
Const ForWriting = 2
 
' Create a FileSystemObject  
Set fso = CreateObject("Scripting.FileSystemObject")

' Define folder we want to list files from
strPath = "D:\folder\img"
 
Set folder = fso.GetFolder(strPath)
Set files = folder.Files
 
' Create text file to output test data
Set OutputFile = fso.CreateTextFile("Vehichlespawnwhead.txt", True)
OutputFile.WriteLine("<Name>VEH_" & folder.Name & "</Name>")
  OutputFile.WriteLine("")

' Loop through each file  
For each item In files
 
  ' Output file properties to a text file
  OutputFile.WriteLine("<Item><Name>" & fso.GetBaseName(item.Name) & "</Name><Variations type=""NULL""/></Item>")
  OutputFile.WriteLine("")
   
Next
 
' Close text file
OutputFile.Close

享受。


推荐阅读