#vbscript
#vbscript
Вопрос:
У меня есть приведенный ниже скрипт, который удаляет лишний пробел после запятой ( ,
). Мое требование, как показано ниже.
Чтобы скопировать самое последнее ИМЯ файла в атрибут myFile, как показано ниже. Можем ли мы изменить приведенный ниже сценарий, чтобы извлекать самый последний файл вместо того, чтобы вводить его вручную?
Set objFSO = CreateObject("Scripting.FileSystemObject")
Dim filetxt
Const ForReading = 1, ForWriting = 2, ForAppending = 8
Const fmtUnicode = -1, fmtASCII = 0, fmtDefault = -2
Set re = New RegExp
Dim strInput
Dim Matches
Dim Match
Dim myFile
'change the following file path to point to your file
myFile = "\dgggsymg_t_t_t$CDO_MTK_SMTBusiness Performance ReportingHari krishnacsvtotabusp_GO_CallDetailsByVqueue_2016-09-27.csv"
re.IgnoreCase = True
Set filetxt = objFSO.OpenTextFile(myFile, ForReading, False, fmtDefault)
Dim arrFileLines()
i = 0
Do Until filetxt.AtEndOfStream
ReDim Preserve arrFileLines(i)
arrFileLines(i) = filetxt.ReadLine
strInput = arrFileLines(i)
'WScript.Echo(strInput)
re.Pattern = "s"
re.Global = True
arrFileLines(i) = re.Replace(strInput, "")
'WScript.Echo(arrFileLines(i))
i = i 1
Loop
filetxt.Close
Set filetxt = objFSO.OpenTextFile(myFile, ForWriting, False, fmtDefault)
For j = LBound(arrFileLines) To UBound(arrFileLines)
filetxt.WriteLine(arrFileLines(j))
Next
filetxt.Close
Set filetxt = Nothing
Комментарии:
1. Можем ли мы изменить приведенный ниже сценарий, чтобы извлекать самый последний файл вместо того, чтобы вводить его вручную? Конечно, мы можем. Мы сделаем это за вас? Маловероятно, не видя никаких усилий с вашей стороны. Что вы пытались решить самостоятельно? Каковы были результаты ваших попыток? Чем они отличались от того, что вы ожидали? Как вы определяете «самый последний файл» в первую очередь?
2. И для определения самого последнего пути я использовал приведенный ниже код, который извлекает файл из источника по указанному пути strSource = учитывая мой путь strDest = учитывая мой путь intDays = 1 —принимает последний файл ( 1 день ) Set objFSO = CreateObject(«Scripting . FileSystemObject») Установите objFolder = objFSO . GetFolder(strSource) При возобновлении работы с ошибкой Следующий набор objFiles = objFolder . Файлы dtmEarliestDate = DateAdd(«d», -intDays, Now()) Для каждого objFile в objFiles Если objFile . DateLastModified > CDate(dtmEarliestDate) Затем objFSO.CopyFile objFile, strDest
3. @KrishNa — если вам нужно опубликовать больше кода, сделайте это как редактирование вашего вопроса, а не как комментарий. Это позволит вам отформатировать код так, чтобы он был читабельным.
Ответ №1:
Я смог получить решение
Я использовал ниже, чтобы добавить имя файла к пути.
для /f «delims=» %%x в (‘dir /od /a-d /b .’) установите «recent=%%x»
и используется !недавний! чтобы получить имя.