Я пытаюсь автоматизировать извлечение множества сжатых файлов (.ARJ) в разных каталогах.
В настоящее время я использую 2 текстовых файла для хранения 2 битов информации:
- текущее расположение и имя сжатых файлов (ARJFileNames.txt) пример — D:_Work_Splunk_TestBed\Branch00\LOAN.ARJ
- целевое расположение файлов, которые нужно извлечь в пример (ARJFileLocations.txt) — D:_Work_Splunk_TestBed\Branch00
Я пытаюсь использовать команду WScript.Shell
для запуска WinRAR для извлечения файлов из их текущего местоположения в целевое местоположение.
Моя проблема заключается в том, что когда я вызываю внешнюю команду из цикла, я не могу правильно понять синтаксис для присоединения строк, которые я извлекаю из текстовых файлов, в тандеме с фактическим вызовом WinRar и его переключателем/командой.
Вот мой текущий код:
'Declaring Constants
Const ForReading = 1, ForWriting = 2, ForAppending = 3
'Declaring Variables
Dim fso, strFilePath, strFileName, fFilePath, fFileName, objShell, WinRAR, strCMD, SevenZip, ARJ
Set fso = CreateObject("Scripting.FileSystemObject")
Set objShell = WScript.CreateObject ("WScript.shell")
'Open Text Files for use
Set strFilePath = fso.OpenTextFile("D:\_Work\_Splunk\_TestBed\ARJFileLocations.txt", ForReading, TristateFalse)
Set strFileName = fso.OpenTextFile("D:\_Work\_Splunk\_TestBed\ARJFileNames.txt", ForReading, TristateFalse)
Do Until strFilePath.AtEndOfStream
fFilePath = strFilePath.ReadLine 'Get the location of the ARJ file
fFileName = strFileName.ReadLine 'Get the target location for ARJ file contents
'Storing the command as 1 string'
strCMD = "winrar x -y " & " " & fFileName & " " & fFilePath
'Running the command in CLI'
objShell.Run strCMD
Loop
'Cleaning Up
Set strFilePath = Nothing
Set strFileName = Nothing
Set objShl = Nothing