Перенос файла по содержанию
Люди, помогите, очень нужно!!! Крайне необходим пример vbs/js скрипта который по содержанию файла будет перекидывать его в определенную папку.Кодировка файла - ANSI. Заранее всем огромное спасибо за помощь.
|
Пример…
Код:
Option Explicit
Dim strSourceFile
Dim strDestFolder
Dim strFindString
Dim strContent
strSourceFile = "c:\Source\0001.txt"
strDestFolder = "c:\Destination"
strFindString = "что ищем"
With WScript.CreateObject("Scripting.FileSystemObject")
If .FileExists(strSourceFile) Then
If .FolderExists(strDestFolder) Then
With .GetFile(strSourceFile)
With .OpenAsTextStream()
strContent = .ReadAll()
.Close
End With
If InStr(strContent, strFindString) > 0 Then
.Move strDestFolder & "\"
End If
End With
Else
WScript.Echo "Destination folder [" & strDestFolder & "] not found"
End If
Else
WScript.Echo "Source file [" & strSourceFile & "] not found"
End If
End With
WScript.Quit 0
При существовании в папке назначения одноимённого файла попытка перемещения оригинального файла завершится с ошибкой времени исполнения.
|
Iska, спасибо огромное за помощь! Один вопрос, strSourceFile = "c:\Source\0001.txt" - зачем этот файл источник? Его можно заменить на каталог? Т.е. что бы он в определенной папке искал...
|
Цитата:
Цитата Vertolet
Один вопрос, strSourceFile = "c:\Source\0001.txt" - зачем этот файл источник? »
|
См. выше:
Цитата:
Цитата Vertolet
необходим пример vbs/js скрипта который по содержанию файла будет перекидывать его в определенную папку »
|
Вы просили пример для файла — я его привёл.
Цитата:
Цитата Vertolet
Его можно заменить на каталог? Т.е. что бы он в определенной папке искал... »
|
Нет. Это будет другой скрипт:
читать дальше »
Код:
Option Explicit
Dim strSourceFolder
Dim strDestFolder
Dim objFile
Dim strFindString
Dim strContent
strSourceFolder = "c:\Source"
strDestFolder = "c:\Destination"
strFindString = "что ищем"
With WScript.CreateObject("Scripting.FileSystemObject")
If .FolderExists(strSourceFolder) Then
If .FolderExists(strDestFolder) Then
For Each objFile In .GetFolder(strSourceFolder).Files
With objFile
With .OpenAsTextStream()
strContent = .ReadAll()
.Close
End With
If InStr(strContent, strFindString) > 0 Then
WScript.Echo "File [" & objFile.Path & "] move into [" & strDestFolder & "]"
.Move strDestFolder & "\"
End If
End With
Next
Else
WScript.Echo "Destination folder [" & strDestFolder & "] not found"
End If
Else
WScript.Echo "Source folder [" & strSourceFolder & "] not found"
End If
End With
WScript.Quit 0
Условие:
Цитата:
Цитата Iska
При существовании в папке назначения одноимённого файла попытка перемещения оригинального файла завершится с ошибкой времени исполнения. »
|
остаётся тем же.
|
Iska, ещё раз огромное спасибо очень выручили. И как я понял, проблему с
Цитата:
Цитата Iska
При существовании в папке назначения одноимённого файла попытка перемещения оригинального файла завершится с ошибкой времени исполнения.
|
никак не решить? Нельзя просто его (файл) пропустить?
|
Вы ведь изначально не стали озвучивать, что нужно делать в случае наличия одноимённого файла в целевой папке.
Теперь так:
читать дальше »
Код:
Option Explicit
Dim strSourceFolder
Dim strDestFolder
Dim objFile
Dim strFindString
Dim strContent
strSourceFolder = "c:\Source"
strDestFolder = "c:\Destination"
strFindString = "что ищем"
With WScript.CreateObject("Scripting.FileSystemObject")
If .FolderExists(strSourceFolder) Then
If .FolderExists(strDestFolder) Then
For Each objFile In .GetFolder(strSourceFolder).Files
If Not .FileExists(.BuildPath(strDestFolder, objFile.Name)) Then
With objFile
With .OpenAsTextStream()
strContent = .ReadAll()
.Close
End With
If InStr(strContent, strFindString) > 0 Then
WScript.Echo "File [" & objFile.Path & "] move into [" & strDestFolder & "]"
.Move strDestFolder & "\"
End If
End With
End If
Next
Else
WScript.Echo "Destination folder [" & strDestFolder & "] not found"
End If
Else
WScript.Echo "Source folder [" & strSourceFolder & "] not found"
End If
End With
WScript.Quit 0
|
Спасибо огромное! Просто сразу не учёл всего. Спасибо!
|
vova_kansk |
02-10-2013 00:53 2227146 |
простите пожалуйста а можно еще чуть допилить
задача немного другая надо бы просмотреть все файлы в директории
если в теле есть "нужное слово1" то сохранить файл в папку1
если в теле есть "нужное слово2" то сохранить файл в папку2
если в теле есть "нужное слово3" то выполнить какунить команду1 (bat или vbs скрипт)
если в теле есть "нужное слово4" то выполнить какунить команду2 (bat или vbs скрипт)
и т.д.
заранее спасибо
|
1. Кодировка файлов?
2. Что значит «сохранить файл в папку»?
3. Условия исключающие или последовательные?
Какова глобальная цель сих действ?
|
vova_kansk |
02-10-2013 02:40 2227176 |
почтовый робот вот здесь все подробненько описал, полезная штука получилась но корявая до ужаса, какнить бы в вид божеский привести но сам я не смогу
http://forum.oszone.net/thread-269145.html
поэтому очень прошу помощи
и трафик кстати жрет немеряно
там почтовик сохраняет почту с сервера в .eml а они открываются оутлукам, есть сетьевая папка в ней пользователи видят свою входящую почту, плюс архивировать легко, но главная фича это запускать разные скриптики и батнички с простой мобилы, главное чтоб интернет был на машине, а когда его нет машина ребутит модем, и чудо случается
|
Время: 06:06.
© OSzone.net 2001-