VBScript, который проверяет, существует ли текстовый файл, а когда нет, который содержит предустановленный текст - PullRequest
1 голос
/ 02 марта 2012

Я хочу проверить с помощью vbscript, существует ли текстовый файл: "C:\Temp\CAD_Kunde.txt", а когда нет, следует создать файл, содержащий этот текст:

1
BEHR;B18 SP4;B18 SP7;0
AUDI;B19 SP3;0
BMW;B19 SP3;0
BIT;B18 SP4;B19 SP3;B16 SP9;0
CHRYSLER;B18 SP4;0
CAE_64;B19 SP3;0
CNHTC;B19 SP3;0
DAF;B19 SP3;0
DASSAULT;B18 SP7;B19 SP3;0
DFCV;B19 SP3;0
FORD;B18 SP4;0
FREIGHTL;B19 SP3;0
FUSO;B19 SP3;0
HINO;B19 SP3;0
HONDA;B19 SP3;0
IVECO;B19 SP3;0
MAN;B19 SP3;0
NISSAN;B19 SP3;0
MB;B19 SP3;0
PACCAR;B19 SP3;0
PORSCHE;B19 SP3;0
PORSCHE_HYBRID_DX;B19 SP3;0
PSA;B19 SP3;0
RENAULT;B19 SP3;0
RVI;B18 SP4;0
SCANIA;B19 SP3;0
TELCO;B19 SP3;0
UD_TRUCK;B17 SP4;0
VOLVO_CAR;B18 SP4;0
VOLVO_TRUCK;B19 SP3;0
V5_MM;B18 SP4;0
V5_BM;B19 SP3;0
V5_TEST;B19 SP9;0
VW;B19 SP3;0

Текст в текстовом файле должен быть создан в том же формате.

Редактировать: Хорошо, у меня нет части, чтобы проверить существование файла и когда не создавать его. Теперь мне нужна помощь для реализации в другом состоянии части для записи в файл.

<SCRIPT Language="VBScript"> 
Option Explicit  
Dim oTxtFile  
With (CreateObject("Scripting.FileSystemObject"))   
If .FileExists("C:\Temp\Kunde.txt") Then       
Else      
Set oTxtFile = .CreateTextFile("C:\Temp\Kunde.txt")
oTxtFile.Close  
End If  
End With
</script>

1 Ответ

1 голос
/ 02 марта 2012

Пожалуйста, посмотрите здесь и здесь для быстрого запуска.

--- После редактирования аскеров ---

Ах, теперь мыполучают где-то.Что касается переполнения стека, мы ожидаем некоторых усилий от вопроса вместо «Можете ли вы написать мне мой код?»вопросы.

После проверки, не существует ли файл, было бы легче, если вы откроете текстовый файл в режиме ForWriting и опцию Create в True:

dim filesys, filetxt
Const ForReading = 1, ForWriting = 2, ForAppending = 8 
Set filesys = CreateObject("Scripting.FileSystemObject")
Set filetxt = filesys.OpenTextFile("c:\somefile.txt", ForAppending, True) 
filetxt.WriteLine("Your text goes here.")
filetxt.Close 

Это создаст и запишеттекст в текстовый файл.Теперь мы должны заполнить его вашим текстом.Было бы проще всего, если вы откроете Excel и скопируете текст в столбец B, а затем:

  1. добавьте следующий текст в ячейку A1: filetxt.WriteLine("
  2. добавьте следующеетекст в ячейке C1: ")
  3. введите эту формулу в столбце D1: =A1 & B1 & C1
  4. Скопируйте вставку ячейки A1, C1 и D1 вниз до последней заполненной ячейки столбца B
  5. Скопируйте и вставьте текст в столбце D в ваш скрипт, где указано filetext.WriteLine("Your text goes here.").

И запустите ваш скрипт.

Окончательное решение:

Option Explicit   
dim filesys, filetxt
Const ForReading = 1, ForWriting = 2, ForAppending = 8 
Set filesys = CreateObject("Scripting.FileSystemObject")
If not filesys.FileExists("C:\Temp\Kunde.txt") Then
    Set filetxt = filesys.OpenTextFile("C:\Temp\Kunde.txt", ForWriting, True) 
    ' 
    ' Copy - Paste the appropriate filetext.WriteLine statements here
    '        
    filetxt.Close
End If
...