0 / 0 / 0
Регистрация: 23.08.2015
Сообщений: 3
1
VBS

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

23.08.2015, 21:35. Показов 1678. Ответов 4
Метки нет (Все метки)

Пожалуйста помогите не разбирающемуся в бейсике
имеется скрипт vbs ссылающийся на exe файл который подсчитывает контрольную сумму.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Din oShell, oExec, sOutput
 
Dim fso, oFile
Dim pth
Dim FileName1
Dim Filename2
Dim aa
Dim Tmp
Dim Num
 
Filename1 = ""
Set objArgs = WScript.Arguments
 
if objArg.count < 1 Then
          Wscript.Echo "Ошибка"
          FileName1 = ""
   else
          For i = 0 to objArgs.count - 1
                FileName1 = objArgs(i)
next
  end if
 
Tmp = StrReverse (FileName1)
Num = Instr (Tmp, "\")
Tmp = Left (Tmp, Num-1)
Tmp= StrReverse(Tmp)
 
FileName = """ & FileName1 & """"
 
pth = " c:\CRC.exe 0 " & Filename
 
Set oShell = CreateObject ("Wscript.Shell")
 
Set oExec = oShell.Exec(pth)
 
sOutput = ""
 
Do While Not oExec.StdOut.AtEndOfStream
 
sOutput = sOutput & oExec.StdOut.Read(1)
 
Loop
 
aa= InputBox (sOutput)
как сделать чтобы вместо всплывающего окна, создавался (рядом(!) с файлом у которого и подсчитывается контрольная сумма) (не открываясь(!)) txt документ со значением переменной sOutput и назывался так же как и файл у которого считаем контрольную сумму?

P.S. так как с бейсиком знаком плохо, в результате долгих манипуляций, получилось просто создать файл со значением переменной, который надо было именовать и сохранять вручную.

Заранее спасибо за помощь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.08.2015, 21:35
Ответы с готовыми решениями:

Работа с двумерными массивами. Чтение данных из текстового файла и запись в текстовый файл
В матрице А найти отношение количества нулевых элементов в количестве ненулевых. Матрицу В...

Запись в два столбца значений, получаемых при обработке строк, найденных в файлах по двум ключевым словам
Мой вопрос: Есть команда: FOR /F &quot;tokens=3 delims=&gt;&lt;&quot; %%i in ('findstr &quot;/R250GB&quot; C:\11111\*.XML')...

Дан текстовый файл с произвольным именем, разделить его на 2 файла
дан текстовый файл с произвольным именем.создать файи В.txt,в которой поместить первую половину...

Php занесение получаемых данных в текстовый файл
можно ли реализовать в php так что бы при пост запросе на него все данные заносились в текстовик на...

4
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
24.08.2015, 16:25 2
Лучший ответ Сообщение было отмечено Max255 как решение

Решение

Visual Basic
44
CreateObject("Scripting.FileSystemObject").CreateTextFile(Filename & ".txt").Write(sOutput)
1
0 / 0 / 0
Регистрация: 23.08.2015
Сообщений: 3
25.08.2015, 12:09  [ТС] 3
Огромное спасибо

Добавлено через 19 часов 11 минут
Извините еще раз за тупые вопросы, а как теперь сделать, чтобы по получившемуся текстовому документу можно было найти исходный файл, и сравнить контрольную сумму записанную в текстовом документе и контрольную сумму получаемую алгоритмом?
Как я понял мне нужно задать fso, получить доступ к текстовому файлу, считать что в нем написано, установить его ParentFoldernName... а вот как там найти исходный файл у которого считалась контрольная сумма файл, не зная его расширения, не понимаю.

P.S. И может еще посоветуете хороший учебник по скриптам в бейсике?
0
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
25.08.2015, 12:40 4
Лучший ответ Сообщение было отмечено Max255 как решение

Решение

Max255, Вот так можно файлы получить и прочитать:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
On Error Resume Next
Dim dir, FSO, TextStream
dir = "C:\folder" ' путь к папке с файлами
Set FSO = CreateObject("Scripting.FileSystemObject")' создание объекта FSO
If FSO.GetFolder(dir).Files.Count >= 1 then' если файлов в папке > = 1
    Set oFiles = FSO.GetFolder(dir).Files
    For Each oFile In oFiles
        Set TextStream = oFile.OpenAsTextStream(1)
        MsgBox TextStream.ReadAll(), 0, oFile
        TextStream.Close
        TextStream = Nothing
    Next
End If
А потом (вместо 9 строки) через условие If ... End If просто сравнить две строки (одна строка из файла, другая ваш хеш).
1
0 / 0 / 0
Регистрация: 23.08.2015
Сообщений: 3
25.08.2015, 18:29  [ТС] 5
ещё раз боагодарю
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.08.2015, 18:29
Помогаю со студенческими работами здесь

Дано имя файла и целое число N (0 < N < 27). Создать текстовый файл с указанным именем
Дано имя файла и целое число N (0 &lt; N &lt; 27). Создать текстовый файл с указанным именем и записать в...

Записать во второй текстовый файл список слов из заданного файла
Дан текстовый файл. Записать во второй текстовый файл список слов из данного файла (словом...

Считывание имени файла и его запись в текстовый файл
Привет всем. Задача: В папке есть много .xml-файлов, каждый их которых надо скопировать в...

Перекодировка содержимого текстового файла в Win-1251 и запись результата в новый файл с именем компьютера
Добрый день, подскажите пожалуйста... стоит задача написать bat, который будет собирать информацию...

Вывод данных, получаемых с json файла
Здравствуйте, надеюсь ВЫ сможете мне помочь. Не получается подключить json файл для его разбора....

Дан текстовый файл и слово. Выведите все строки файла, начинающиеся с заданного слова
Дан текстовый файл и слово. Выведите все строки файла, начинающиеся с заданного слова. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru