Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
vb脚本解析文件名并生成csv_Csv_Vbscript - Fatal编程技术网

vb脚本解析文件名并生成csv

vb脚本解析文件名并生成csv,csv,vbscript,Csv,Vbscript,有一个很快给你们的希望 我有以下格式的文件名列表: ABCD_03105_221385_2015-02-20_03105.pdf ABCD_03105_552589_2015-02-20_03105.pdf 我需要做一个所有这些文件名的CSV,用下划线和“.pdf”分开的字段。。。所以在文件中看起来是这样的: ABCD,031052213852015-02-2003105 ABCD,031055525892015-02-2003105 非常感谢您的帮助!!谢谢 到目前为止,我所拥有的只是一个列出

有一个很快给你们的希望

我有以下格式的文件名列表:

ABCD_03105_221385_2015-02-20_03105.pdf
ABCD_03105_552589_2015-02-20_03105.pdf

我需要做一个所有这些文件名的CSV,用下划线和“.pdf”分开的字段。。。所以在文件中看起来是这样的:

ABCD,031052213852015-02-2003105
ABCD,031055525892015-02-2003105

非常感谢您的帮助!!谢谢

到目前为止,我所拥有的只是一个列出文件名的脚本。我不知道该怎么做才能让它们被下划线分开

On Error Resume Next
  Dim fso, folder, files, NewsFile,sFolder

  Set fso = CreateObject("Scripting.FileSystemObject")
  sFolder = Wscript.Arguments.Item(0)
  If sFolder = "" Then
      Wscript.Echo "No Folder parameter was passed"
      Wscript.Quit
  End If
  Set NewFile = fso.CreateTextFile(sFolder&"\FileList.txt", True)
  Set folder = fso.GetFolder(sFolder)
  Set files = folder.Files

  For each folderIdx In files
    NewFile.WriteLine(folderIdx.Name)
  Next
  NewFile.Close
请尝试将“u”替换为“,.pdf”替换为“”。如果发现错误,请在此处发布

oldFile = "ABCD_03105_221385_2015-02-20_03105.pdf"
oldFile = lcase(oldFile)
newFile = replace(oldFile, "_", ",")
newFile = replace(newFile, ".pdf", "")
newFile = ucase(newFile)

现在,新文件必须是“ABCD,031052213852015-02-2003105”

您需要嵌套替换调用:

>> s = "ABCD_03105_221385_2015-02-20_03105.pdf"
>> t = Replace(Replace(s, "_", ","), ".pdf", "")
>> WScript.Echo s
>> WScript.Echo t
>>
ABCD_03105_221385_2015-02-20_03105.pdf
ABCD,03105,221385,2015-02-20,03105

谢谢-我确实用逗号替换了下划线,但是也不能得到pdf。。。我正在尝试以下操作:NewFile.WriteLine(Replace(folderIdx.Name,“,”))(folderIdx.Name)——如果我在当前工作的Replace旁边添加相同的“Replace”,它不会执行任何操作。例如:NewFile.WriteLine(Replace(folderIdx.Name,“,”)(Replace(folderIdx.Name,“.pdf”,”)(folderIdx.Name)——不执行pdf部分,只有逗号。首先,替换(旧文件““,”,”)。第二,替换(旧文件“.pdf”,”)就是这样!非常感谢你的帮助。