2017-04-15 1 views
0

VB 스크립트를 몇 번이나 시작했는지 확인하고 하드 드라이브의 파일에 번호를 기록하고 싶습니다. 그 배치 파일과 유사합니다.VB 스크립트가 매스를 몇 번 실행했는지 계산하는 방법은 무엇입니까?

@echo off 
if not exist "C:\Users\User\Desktop\run.log" goto end 
if exist "C:\Users\User\Desktop\run.log" goto 123 
:123 
for /f "delims=" %%x in (C:\Users\User\Desktop\run.log) do set var=%%x 
Set /A result = %var% + 1 
echo %result% > "C:\Users\User\Desktop\run.log" 
exit 
:end 
echo 1 > "C:\Users\User\Desktop\run.log" 
exit 

아래에서이 코드를 시도했습니다. 처음 실행, 그것은 잘 작동하지만 it doesn't 그 후 :

Set objFSO = CreateObject("Scripting.FileSystemObject") 

    If objFSO.FileExists("C:\Users\User\Desktop\run.log") Then 
     Dim InputFile 
     Dim oFile 
     Dim ReadAll 
     Dim data 
     InputFile = "C:\Users\User\Desktop\run.log" 
     Set oFile = objFSO.OpenTextFile(InputFile) 
     data = oFile.ReadAll 
     Set sum = "data + 1" 
     oFile.Close 
     objFSO.DeleteFile("C:\Users\User\Desktop\run.log") 
     outFile="C:\Users\User\Desktop\run.log" 
     Set objFile = objFSO.CreateTextFile(outFile,True) 
     objFile.Write "sum" 
     objFile.Close 
    Else 
     outFile="C:\Users\User\Desktop\run.log" 
     Set objFile = objFSO.CreateTextFile(outFile,True) 
     objFile.Write "1" 
     objFile.Close 
    End If 
+0

'설정 합 아래

시도 = "데이터 + 1"'당신이하지 생각하지 않습니다. – Dai

답변

0

여러 실수를 만들었습니다. 나는 당신이 흐름을 이해할 수 있도록 주석으로 코드를 업데이트했다. 물론 플로우를 이해하면 코드를 향상시킬 수 있습니다.

Dim InputFile 
Dim countText 
Dim objFSO, oFile 

Set objFSO = CreateObject("Scripting.FileSystemObject") 
InputFile = "C:\Users\User\Desktop\run.log" 
If objFSO.FileExists(InputFile) Then 
    'Read the file 
    Set oFile = objFSO.OpenTextFile(InputFile, 1, True) 
    countText = oFile.ReadLine 
    If IsNumeric(countText) Then 
     MsgBox "Numeric" 
     Count = CInt(countText) + 1 
    Else 
     Count = 1 
    End If 
    oFile.Close 
    Set oFile = Nothing 

    'Overwrite the file 
    Set oFile = objFSO.OpenTextFile(InputFile, 2, True) 
    oFile.Write (CStr(Count)) 
Else 
    Set oFile = objFSO.CreateTextFile(InputFile, True) 
    oFile.Write "1" 
End If 

'Close and Remove from memory 
oFile.Close 
Set oFile = Nothing 
Set objFSO = Nothing 
+0

네, 효과가있었습니다. 나는 VBS에 익숙하지 못해 멍청한 녀석이되어서 미안해! – barteczek56