2015-04-06 1 views
-1

получили быстрый один для вас, ребята, будем надеяться ...VB Script для разбора имен файлов и сделать CSV

У меня есть список имен файлов, которые находятся в этом формате:

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

мне нужно сделать CSV всех этих имен файлов, с полями, разделенными подчеркиванием и «.pdf» высадили ... так что это будет выглядеть следующим образом в файле:

ABCD, 03105,221385,2015-02-20,03105
ABCD, 03105,552589,2015-02-20,03105

Помощь будет очень признателен !! Спасибо

Все, что я до сих пор представляет собой скрипт, который будет перечислять имена файлов. Я не уверен, что делать, чтобы они были разделены подчеркиванием.

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 

ответ

0

Попробуйте заменить «_» на «,» и «.pdf» на «». Если вы нашли ошибку, пост здесь ...

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

Теперь NewFile должен быть "ABCD, 03105,221385,2015-02-20,03105"

+0

Спасибо - я получил подчеркивание заменены запятыми, но не может получить PDF, а также ... я пытаюсь это: NewFile.WriteLine (Replace (folderIdx.Name, "_", ", ")) (folderIdx.Name) - если я добавлю то же самое« Заменить »рядом с текущим рабочим Заменить, он ничего не делает. – Robert

+0

Например: NewFile.WriteLine (Заменить (folderIdx.Name, "_", ",")) (Заменить (folderIdx.Name, ". Pdf", "")) (folderIdx.Name) - не делает часть PDF, просто запятые. – Robert

+0

Сначала замените (oldFile, "_", ","). Во-вторых, замените (oldFile, ".pdf", "") –

0

Вы должны гнезда ЗАМЕНИТЬ звонки :

>> 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 
+0

Вот оно! Большое спасибо за помощь. – Robert

Смежные вопросы