【问题标题】:VBScript which checks if text file exist and when not create one which contain presetted textVBScript 检查文本文件是否存在以及何时不创建包含预设文本的文件
【发布时间】:2012-03-02 07:43:59
【问题描述】:

我想用 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

文本文件中的文本应使用相同的格式创建。

编辑:好的,我没有检查文件是否存在以及何时不创建它的部分。我现在需要帮助来实现在 else 条件下写入文件的部分。

<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>

【问题讨论】:

    标签: vbscript hta


    【解决方案1】:

    请查看herehere 以获得快速入门。

    ---提问者编辑后---

    啊,现在我们到了某个地方。在 Stack Overflow 上,我们期待问题的一些努力,而不是“你能写给我我的代码吗?”问题。

    检查文件是否不存在后,如果在 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 &amp; B1 &amp; 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
    

    【讨论】:

    • 您的帖子没有帮助,我编辑了自己的帖子。当您知道 vbscript 时,请查看我的编辑。
    • 您的脚本运行良好,但我使用了ForWriting。现在它会随时覆盖文件。我怎样才能首先让它检查文件是否存在并且当它存在时什么都不做,但是当它不存在时创建带有文本的文件?
    • 你已经自己创建了!但我会通过编辑我以前的帖子来帮助你。并且不要忘记将其视为“正确答案”,因为它可以帮助您;)。
    猜你喜欢
    • 1970-01-01
    • 2023-03-05
    • 2023-03-14
    • 2012-11-08
    • 2018-01-15
    • 2011-10-09
    • 1970-01-01
    • 1970-01-01
    • 2019-08-25
    相关资源
    最近更新 更多