Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Файлы и строки Добавлено: 07.02.11 21:38  

Автор вопроса:  Dmitryi | ICQ: 339242625 
Подскажите пожалуйста(хотя бы алгоритм действий). Имеются файлы которые лежать в одной папке. пример,
                     1111_0000
                     2222_0000 и т.д. без расширения.
В этой же папке есть файл (который открывается блокнотом) в котором содержаться строки:
        1111 0.00 23936.80 1111_0000 44 1.0 0
        2222 0.00 23936.80 2222_0000 44 1.0 0
Необходимо в этом текстовом файле "ручками" внести изменение в самом начале строк, вместо 1111 поставить ЕЕЕЕ и т.д. Программа должна переименовать и содержимое txt файла и файлы в папке в соответствии с содержимым этого текстового файла.
       EEEE 0.00 23936.80 EEEE_0000 44 1.0 0
       TTTT 0.00 23936.80 TTTT_0000 44 1.0 0
и фалы в папке
       EEEE.0000
       TTTT.0000
0000 будет как расширение.

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 Just



Вопросов: 4
Ответов: 330
 Профиль | | #1 Добавлено: 08.02.11 10:29
алгоритм прост
находишь все файлы в папке/папках, читаешь каждый файл в переменную, изменяешь/запоминаешь в этой переменной что интересует, сохраняешь, переименовываешь - самый простой на мой взляд алгоритм (можно сохранять сразу с новым именем а старый файл удалять)

вот скриптик vbs который ищет все файлы в папке и подпапках и производит определенное действие, просто добавляй те действия которые необходимы

  1.  
  2. Dim objFSO
  3. Main()
  4.  
  5. Sub Main()
  6. 'On Error Resume Next
  7. Dim objShell, sPathFolder
  8. Set objFSO = CreateObject("Scripting.FileSystemObject")
  9.  
  10. sPathFolder = InputBox("Укажите папку!", "", "C:\temp")
  11. If sPathFolder = "" Or Not objFSO.FolderExists(sPathFolder) Then
  12.   Set objFSO = Nothing
  13.   Wscript.Echo "Отменено..."
  14.   Wscript.quit
  15. End If
  16. If Right(sPathFolder, 1) <> "\" Then sPathFolder = sPathFolder & "\"
  17. RecurseFolder objFSO.GetFolder(sPathFolder)
  18. WScript.Echo "Wscript.quit"
  19. Set objFSO = Nothing
  20. Wscript.quit
  21. End Sub
  22.  
  23.  
  24.  
  25.  
  26. Sub RecurseFolder(objFolder)
  27. 'On Error Resume Next
  28. Dim objFile, objFile2, objSubFolder, sFileText
  29. For Each objFile In objFolder.Files
  30.    
  31.    
  32.   ' здесь и производить все действия с файлами
  33.       Set objFile2 = objFSO.OpenTextFile(objFile.Path)
  34.       sFileText = objFile2.Readall
  35.       objFile2.Close
  36.   'sFileText - текст файла
  37.   'sFileText = Replace(sFileText, "11111111", "22222") ' замена текста в файле
  38.       Set objFile2 = objFSO.CreateTextFile(objFile.Path)
  39.       objFile2.Write sFileText
  40.       objFile2.Close
  41.  
  42.   
  43. Next
  44.  
  45. ' loop through sub folders
  46. For Each objSubFolder In objFolder.SubFolders
  47.     'WScript.Echo "Folder:  " & objSubFolder.Path
  48.     RecurseFolder objSubFolder ' have the sub call itself sending the sub folder path
  49. Next
  50. End Sub

Ответить

Номер ответа: 2
Автор ответа:
 Dmitryi



ICQ: 339242625 

Вопросов: 13
Ответов: 27
 Профиль | | #2 Добавлено: 08.02.11 16:54
спасибо большое буду пробовать.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам