[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

Parsing Text File - SCRIPT NEEDED

Posted on 2005-04-19
13
Medium Priority
?
268 Views
Last Modified: 2010-04-14
I have text files that created from Veritas Backup Exec 8.6 and would like some code that can parse through the text file pulling out certain information - such as the following:

Date, Backup Size in GB, which tapes it used to backup, which slot it used to backup, the BEX number (log number), & Job completion status

Can someone helpe me in creating a script that pulls this information outa dn puts it into a text file then I put into an access database......

***********START OF ONE OF THE REPORTS **********************
======================================================================
Job server: SERVER_NAME
Job name: SERVER_NAME Daily
Job started: Monday, April 18, 2005 at 6:02:03 PM
Job type: Backup
Job Log: BEX47.txt
======================================================================

No appendable media could be mounted.
Switching to overwrite operation on scratch media.

Drive and media information from media mount:
Robotic Library Name: COMPAQ 1
Drive Name: COMPAQ 1
Slot: 20
Media GUID: {7E57F902-D34E-442F-9E4B-58F3A4E29DE4}
Media Label: DLT000026
Overwrite Protection Time Left: Infinite
Append Time Left: Infinite
Targeted Media Set Name: Media Set 1

======================================================================
Job Operation - Backup
Media operation - overwrite.
Hardware compression enabled.
======================================================================

Performing Remote Agent backup

Media Name: "Media created 4/18/2005 06:02:04 PM"
Backup of "\\SERVER_NAME\C$ "
Backup set #1 on storage media #1
Backup set description: "SERVER_NAME Daily"
Backup Type: DIFFERENTIAL - Changed Files
Backup started on 4/18/2005 at 6:04:05 PM.

Backup completed on 4/18/2005 at 6:37:52 PM.
Backed up 12809 files in 1602 directories.
21  files were in use
1 item was skipped.
Processed 1,425,049,077 bytes in  33 minutes and  47 seconds.
Throughput rate: 40.2 MB/min
----------------------------------------------------------------------
Performing Remote Agent backup

Media Name: "Media created 4/18/2005 06:02:04 PM"
Backup of "\\SERVER_NAME\D$ "
Backup set #2 on storage media #1
Backup set description: "SERVER_NAME Daily"
Backup Type: DIFFERENTIAL - Changed Files
Backup started on 4/18/2005 at 6:37:53 PM.

Backup completed on 4/18/2005 at 6:39:47 PM.
Backed up 205 files in 9290 directories.
Processed 28,535,042 bytes in  1 minute and  54 seconds.
Throughput rate: 14.3 MB/min
----------------------------------------------------------------------
Performing Remote Agent backup

Media Name: "Media created 4/18/2005 06:02:04 PM"
Backup of "\\SERVER_NAME\E$ "
Backup set #3 on storage media #1
Backup set description: "SERVER_NAME Daily"
Backup Type: DIFFERENTIAL - Changed Files
Backup started on 4/18/2005 at 6:39:47 PM.

Backup completed on 4/18/2005 at 10:10:24 PM.
Backed up 177 files in 12156 directories.
2  files were in use
Processed 7,060,197,361 bytes in  3 hours,  30 minutes, and  37 seconds.
Throughput rate: 32.0 MB/min
----------------------------------------------------------------------

======================================================================
Job Operation - Verify
======================================================================

Verify of "\\SERVER_NAME\C$ "
Backup set #1 on storage media #1
Backup set description: "SERVER_NAME Daily"
Verify started on 4/18/2005 at 10:12:07 PM.

Verify completed on 4/18/2005 at 10:17:09 PM.
Verified 12809 files in 1602 directories.
0 files were different.
Processed 1,425,049,077 bytes in  5 minutes and  2 seconds.
Throughput rate: 270.0 MB/min
----------------------------------------------------------------------

Verify of "\\SERVER_NAME\D$ "
Backup set #2 on storage media #1
Backup set description: "SERVER_NAME Daily"
Verify started on 4/18/2005 at 10:17:09 PM.

Verify completed on 4/18/2005 at 10:17:17 PM.
Verified 205 files in 9290 directories.
0 files were different.
Processed 28,535,042 bytes in  8 seconds.
Throughput rate: 204.1 MB/min
----------------------------------------------------------------------

Verify of "\\SERVER_NAME\E$ "
Backup set #3 on storage media #1
Backup set description: "SERVER_NAME Daily"
Verify started on 4/18/2005 at 10:17:17 PM.

Verify completed on 4/18/2005 at 10:43:10 PM.
Verified 177 files in 12156 directories.
0 files were different.
Processed 7,060,197,361 bytes in  25 minutes and  53 seconds.
Throughput rate: 260.1 MB/min
----------------------------------------------------------------------

======================================================================
Job ended: Monday, April 18, 2005 at 10:44:43 PM
Job completion status: Successful
======================================================================

***********END OF ONE OF THE REPORTS **********************

Any ideas?
0
Comment
Question by:duemes
  • 7
  • 6
13 Comments
 
LVL 71

Expert Comment

by:Chris Dent
ID: 13816841

I have no idea about the database writing bit at the end... I really try to avoid those... but this vbscript will parse the file and give you the values. I couldn't figure out which field you wanted for the tape, so I took Media Name.

Option Explicit

Dim objFileSystem, objInputFile, objTextStream, objOutputFile
Dim intJobTotal
Dim strLine, strJobStarted, strJobLog, strTotal, strMedia, strSlot, strStatus

Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objInputFile = objFileSystem.GetFile("InputFile.txt")
Set objTextStream = objInputFile.OpenAsTextStream(1,0)
Set objOutputFile = objFileSystem.CreateTextFile("OutputFile.txt", True, False)

intJobTotal = 0

' Read it all in

Do
      strLine = objTextStream.ReadLine
      If (InStr(strLine, "Job started: ") <> 0) Then
            strJobStarted = strLine
            strJobStarted = Mid(strJobStarted, 14, Len(strJobStarted))
      End If
      If (InStr(strLine, "Job Log: ") <> 0) Then
            strJobLog = strLine
            strJobLog = Mid(strJobLog, 10, Len(strJobLog))
            strJobLog = Left(strJobLog, (Len(strJobLog) - 4))
      End If
      If (InStr(strLine, "Processed ") <> 0) Then
            strTotal = strLine
            arrTotal = Split(strTotal, " ")
            strTotal = Replace(arrTotal(1), ",", "")
            intJobTotal = intJobTotal + strTotal
      End If
      If (InStr(strLine, "Media Name: ") <> 0) Then
            strMedia = strLine
            strMedia = Mid(strMedia, 14, Len(strMedia))
            strMedia = Left(strMedia, (Len(strMedia) - 1))
      End If
      If (InStr(strLine, "Slot: ") <> 0) Then
            strSlot = strLine
            strSlot = Mid(strSlot, 7, Len(strSlot))
      End If
      If (InStr(strLine, "Job completion status: ") <> 0) Then
            strStatus = strLine
            strStatus = Mid(strStatus, 24, Len(strStatus))
      End If
Loop While Not objTextStream.AtEndOfStream

' Since it counts the verify halve the Job Total then convert it to Gb (2 * 1024 * 1024 * 1024)

intJobTotal = intJobTotal / 2147483648

' Write it out to a file

objOutputFile.WriteLine(strJobStarted)
objOutputFile.WriteLine(strJobLog)
objOutputFile.WriteLine(intJobTotal)
objOutputFile.WriteLine(strMedia)
objOutputFile.WriteLine(strSlot)
objOutputFile.WriteLine(strStatus)

Set objOutputFile = Nothing
Set objTextStream = Nothing
Set objInputFile = Nothing
0
 

Author Comment

by:duemes
ID: 13817330
and how would I run this....I have created the above calling the file name "backup.vbs", but how do I run it against a certain directory on the backup server?
0
 
LVL 71

Expert Comment

by:Chris Dent
ID: 13817612

At the moment it will run on a specific file, the name / location should be specified in:

Set objInputFile = objFileSystem.GetFile("InputFile.txt")

As you see file selection is currently hard-coded, this is something that can change if required, but the parameters for picking that file need to be worked out.

Still, to make the file locations a little easier (or more obvious) try this version:

Option Explicit

' The location (full path) for the log file you want it to parse

Const INPUTFILE = "c:\program files\veritas\BEX47.txt"

' The location (full path) for the report file you want it to produce

Const OUTPUTFILE = "c:\temp\report.txt"

Dim objFileSystem, objInputFile, objTextStream, objOutputFile
Dim intJobTotal
Dim strLine, strJobStarted, strJobLog, strTotal, strMedia, strSlot, strStatus

Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objInputFile = objFileSystem.GetFile(INPUTFILE)
Set objTextStream = objInputFile.OpenAsTextStream(1,0)
Set objOutputFile = objFileSystem.CreateTextFile(OUTPUTFILE, True, False)

intJobTotal = 0

' Read it all in

Do
     strLine = objTextStream.ReadLine
     If (InStr(strLine, "Job started: ") <> 0) Then
          strJobStarted = strLine
          strJobStarted = Mid(strJobStarted, 14, Len(strJobStarted))
     End If
     If (InStr(strLine, "Job Log: ") <> 0) Then
          strJobLog = strLine
          strJobLog = Mid(strJobLog, 10, Len(strJobLog))
          strJobLog = Left(strJobLog, (Len(strJobLog) - 4))
     End If
     If (InStr(strLine, "Processed ") <> 0) Then
          strTotal = strLine
          arrTotal = Split(strTotal, " ")
          strTotal = Replace(arrTotal(1), ",", "")
          intJobTotal = intJobTotal + strTotal
     End If
     If (InStr(strLine, "Media Name: ") <> 0) Then
          strMedia = strLine
          strMedia = Mid(strMedia, 14, Len(strMedia))
          strMedia = Left(strMedia, (Len(strMedia) - 1))
     End If
     If (InStr(strLine, "Slot: ") <> 0) Then
          strSlot = strLine
          strSlot = Mid(strSlot, 7, Len(strSlot))
     End If
     If (InStr(strLine, "Job completion status: ") <> 0) Then
          strStatus = strLine
          strStatus = Mid(strStatus, 24, Len(strStatus))
     End If
Loop While Not objTextStream.AtEndOfStream

' Since it counts the verify halve the Job Total then convert it to Gb (2 * 1024 * 1024 * 1024)

intJobTotal = intJobTotal / 2147483648

' Write it out to a file

objOutputFile.WriteLine(strJobStarted)
objOutputFile.WriteLine(strJobLog)
objOutputFile.WriteLine(intJobTotal)
objOutputFile.WriteLine(strMedia)
objOutputFile.WriteLine(strSlot)
objOutputFile.WriteLine(strStatus)

Set objOutputFile = Nothing
Set objTextStream = Nothing
Set objInputFile = Nothing
0
[Webinar] Cloud and Mobile-First Strategy

Maybe you’ve fully adopted the cloud since the beginning. Or maybe you started with on-prem resources but are pursuing a “cloud and mobile first” strategy. Getting to that end state has its challenges. Discover how to build out a 100% cloud and mobile IT strategy in this webinar.

 
LVL 71

Expert Comment

by:Chris Dent
ID: 13817637

Oh, it should be noted that error control in this version is limited to say the least - the idea is more to demonstrate how the file can be parsed than writing a more friendly script.
0
 

Author Comment

by:duemes
ID: 13818083
Chris:

Would it be difficult to modify the script to do the script for all files begining with BEX in a certain folder?

Please dont strangle me!
0
 
LVL 71

Expert Comment

by:Chris Dent
ID: 13818613

Don't worry... it's easy...

Before getting too far into it... how do you want the output? The bit below has been changed to Comma Seperated Values rather than something on each line - this meant the date field had to be altered slightly to get rid of the commas in it.

The main part we need to add the script is to get the filenames in the directory. For this we have to attach to the directory, this allows the use of DirectoryObject.Files part of the File System Object. Basically, a directory listing.



Option Explicit

' The location (full path) for the log folder - not a file path

Const LOGFOLDER = "c:\program files\veritas\logs"

' The location (full path) for the report file you want it to produce

Const OUTPUTFILE = "c:\temp\report.txt"

' Variable

Dim objFileSystem, objFolder, objInputFile, objTextStream, objOutputFile
Dim intJobTotal
Dim arrTotal
Dim strLine, strJobStarted, strJobLog, strTotal, strMedia, strSlot, strStatus, strOutput

' Object Initialization

Set objFileSystem = CreateObject("Scripting.FileSystemObject")

'
' Subroutines
'

Sub ParseLog(objInputFile)

      Set objTextStream = objInputFile.OpenAsTextStream(1,0)
      intJobTotal = 0
      Do
            strLine = objTextStream.ReadLine
            If (InStr(strLine, "Job started: ") <> 0) Then
                  strJobStarted = strLine
                  strJobStarted = Mid(strJobStarted, 14, Len(strJobStarted))
                  strJobStarted = Replace(strJobStarted, ",", "")
            End If
            If (InStr(strLine, "Job Log: ") <> 0) Then
                  strJobLog = strLine
                  strJobLog = Mid(strJobLog, 10, Len(strJobLog))
                  strJobLog = Left(strJobLog, (Len(strJobLog) - 4))
            End If
            If (InStr(strLine, "Processed ") <> 0) Then
                  strTotal = strLine
                  arrTotal = Split(strTotal, " ")
                  strTotal = Replace(arrTotal(1), ",", "")
                  intJobTotal = intJobTotal + strTotal
            End If
            If (InStr(strLine, "Media Name: ") <> 0) Then
                  strMedia = strLine
                  strMedia = Mid(strMedia, 14, Len(strMedia))
                  strMedia = Left(strMedia, (Len(strMedia) - 1))
            End If
            If (InStr(strLine, "Slot: ") <> 0) Then
                  strSlot = strLine
                  strSlot = Mid(strSlot, 7, Len(strSlot))
            End If
            If (InStr(strLine, "Job completion status: ") <> 0) Then
                  strStatus = strLine
                  strStatus = Mid(strStatus, 24, Len(strStatus))
            End If
      Loop While Not objTextStream.AtEndOfStream

      Set objTextStream = Nothing

      ' Since it counts the verify halve the Job Total then convert it to Gb (2 * 1024 * 1024 * 1024)

      intJobTotal = intJobTotal / 2147483648

End Sub


'
' Main Section
'

Set objOutputFile = objFileSystem.CreateTextFile(OUTPUTFILE, True, False)
Set objFolder = objFileSystem.GetFolder(LOGFOLDER)

For Each objInputFile in ObjFolder.Files

      If (Left(objInputFile.Name, 3) = "BEX") Then
            ParseLog objInputFile
            strOutput = strJobLog & "," & strJobStarted & "," & strMedia & "," & strSlot      
            strOutput = strOutput & "," & intJobTotal & "," & strStatus
            objOutputFile.WriteLine(strOutput)
      End If
Next

Set objFolder = Nothing
Set objOutputFile = Nothing

0
 

Author Comment

by:duemes
ID: 13826528
instead of it checking

"Job started: " - can we change that to "Backup started on "
"Media Name: " - can we change that to "Media Label: " BUT ONLY for the backup section NOT the verify section...a backup never falls onto a Verify....heheheh

also lets not do the conversion to GB instead just put what it verified from the Verify Section to Parse "Processed "

Finally, a backup may flow onto two tapes so I need it to parse the entire BEX## file for all slot and Media Label:

Can this be done...??

0
 
LVL 71

Expert Comment

by:Chris Dent
ID: 13843674

Sorry for the late reply, must have missed the notification mail.

There are 3 different entries for Backup Started on, do you want them all?

Media Label only appears once, so that bit of code changes to:

If (InStr(strLine, "Media Label: ") <> 0) Then
    strMedia = strLine
    strMedia = Mid(strMedia, 14, Len(strMedia))
End If

Processed is easy, to leave it as bytes just divide by 2 instead of 2147483648, the total amount processed is still split into 3 parts that have to be added together though.

Reading multiple media labels / slots is no problem, I'll add it in and post an update in a minute or two.
0
 
LVL 71

Expert Comment

by:Chris Dent
ID: 13843829

Updated to include all but the Job Started / Backup Start on bits

Option Explicit

' The location (full path) for the log folder - not a file path

Const LOGFOLDER = "c:\program files\veritas\logs"

' The location (full path) for the report file you want it to produce

Const OUTPUTFILE = "c:\temp\report.txt"

' Variable

Dim objFileSystem, objFolder, objInputFile, objTextStream, objOutputFile
Dim intJobTotal, intMedia, intSlots
Dim arrTotal
Dim strLine, strJobStarted, strJobLog, strTotal, strMedia, strSlot, strStatus, strOutput
Dim arrMedia()
Dim arrSlots()

' Object Initialization

Set objFileSystem = CreateObject("Scripting.FileSystemObject")

'
' Subroutines
'

Sub ParseLog(objInputFile)

      Set objTextStream = objInputFile.OpenAsTextStream(1,0)
      intJobTotal = 0

      intMedia = -1
      intSlots = -1

      Do
            strLine = objTextStream.ReadLine
            If (InStr(strLine, "Job started: ") <> 0) Then
                  strJobStarted = strLine
                  strJobStarted = Mid(strJobStarted, 14, Len(strJobStarted))
                  strJobStarted = Replace(strJobStarted, ",", "")
            End If
            If (InStr(strLine, "Job Log: ") <> 0) Then
                  strJobLog = strLine
                  strJobLog = Mid(strJobLog, 10, Len(strJobLog))
                  strJobLog = Left(strJobLog, (Len(strJobLog) - 4))
            End If
            If (InStr(strLine, "Processed ") <> 0) Then
                  strTotal = strLine
                  arrTotal = Split(strTotal, " ")
                  strTotal = Replace(arrTotal(1), ",", "")
                  intJobTotal = intJobTotal + strTotal
            End If
            If (InStr(strLine, "Media Label: ") <> 0) Then
                  strMedia = strLine
                  strMedia = Mid(strMedia, 14, Len(strMedia))
                  intMedia = intMedia + 1
                  ReDim Preserve arrMedia(intMedia)
                  arrMedia(intMedia)  = strMedia
            End If
            If (InStr(strLine, "Slot: ") <> 0) Then
                  strSlot = strLine
                  strSlot = Mid(strSlot, 7, Len(strSlot))
                  intSlots = intSlots + 1
                  ReDim Preserve arrSlots(intSlots)
                  arrSlots(intSlots) = strSlot
            End If
            If (InStr(strLine, "Job completion status: ") <> 0) Then
                  strStatus = strLine
                  strStatus = Mid(strStatus, 24, Len(strStatus))
            End If
      Loop While Not objTextStream.AtEndOfStream

      Set objTextStream = Nothing

      ' Since it counts the verify as well as the normal backup halve the Job Total

      intJobTotal = intJobTotal / 2

End Sub


'
' Main Section
'

Set objOutputFile = objFileSystem.CreateTextFile(OUTPUTFILE, True, False)
Set objFolder = objFileSystem.GetFolder(LOGFOLDER)

For Each objInputFile in ObjFolder.Files

      If (Left(objInputFile.Name, 3) = "BEX") Then
            ParseLog objInputFile
            strOutput = strJobLog & "," & strJobStarted & ","
            intMedia = 1
            For Each strMedia in arrMedia
                  strOutput = strOutput & strMedia & "(" & intMedia & "),"
                  intMedia = intMedia + 1
            Next
            intSlots = 1
            For Each strSlot in arrSlots
                  strOutput = strOutput & strSlot & "(" & intSlots & "),"
                  intSlots = intSlots + 1
            Next
            strOutput = strOutput & intJobTotal & "," & strStatus
            objOutputFile.WriteLine(strOutput)
      End If
Next

Set objFolder = Nothing
Set objOutputFile = Nothing
0
 

Author Comment

by:duemes
ID: 13893871
Sorry its been a while...its been pretty hectic around here...I thought the spring/summer months were suppose to be quiet....well is IT ever quiet...HEHEHHE

To answer your questions
There are 3 different entries for Backup Started on, do you want them all?
--No only the first one is fine

I copied the following code and edited where the backup logs are executed the code and I get an error stating:

There is no script file specified..

any ideas?
0
 

Author Comment

by:duemes
ID: 13893909
i copied the following code and edited where the backup logs are executed the code and I get an error stating:

There is no script file specified..


my fault.....it appears I typed the extension as a wsh instead of a vbs....stupid me...ITS FRIDAY!!!
0
 

Author Comment

by:duemes
ID: 13894102
oops...can you add "Job name: " to the report - it being the first thing on the list when it outputs to the file....
0
 
LVL 71

Accepted Solution

by:
Chris Dent earned 2000 total points
ID: 13894184

Yeah... and it's a nice sunny Friday too, must be almost time for the weekend ;)

Here's the modification to pull the first instance of Backup Started and add Job Name:

Option Explicit

' The location (full path) for the log folder - not a file path

Const LOGFOLDER = "c:\program files\veritas\logs"

' The location (full path) for the report file you want it to produce

Const OUTPUTFILE = "c:\temp\report.txt"

' Variable

Dim objFileSystem, objFolder, objInputFile, objTextStream, objOutputFile
Dim intJobTotal, intMedia, intSlots
Dim arrTotal
Dim booTimeFound
Dim strLine, strBackupStarted, strJobLog, strTotal, strMedia, strSlot
Dim strStatus, strOutput, strJobName
Dim arrMedia()
Dim arrSlots()

' Object Initialization

Set objFileSystem = CreateObject("Scripting.FileSystemObject")

'
' Subroutines
'

Sub ParseLog(objInputFile)

      Set objTextStream = objInputFile.OpenAsTextStream(1,0)
      intJobTotal = 0

      intMedia = -1
      intSlots = -1

      booTimeFound = "FALSE"

      Do
            strLine = objTextStream.ReadLine
            If (InStr(strLine, "Job name: ") <> 0) Then
                  strJobName = strLine
                  strJobName = Mid(strJobName, 11, Len(strJobName))
            End If
            If ((InStr(strLine, "Backup started on ") <> 0) and (booTimeFound = "FALSE")) Then
                  strBackupStarted = strLine
                  strBackupStarted = Mid(strBackupStarted, 19, Len(strBackupStarted))
                  booTimeFound = "TRUE"
            End If
            If (InStr(strLine, "Job Log: ") <> 0) Then
                  strJobLog = strLine
                  strJobLog = Mid(strJobLog, 10, Len(strJobLog))
                  strJobLog = Left(strJobLog, (Len(strJobLog) - 4))
            End If
            If (InStr(strLine, "Processed ") <> 0) Then
                  strTotal = strLine
                  arrTotal = Split(strTotal, " ")
                  strTotal = Replace(arrTotal(1), ",", "")
                  intJobTotal = intJobTotal + strTotal
            End If
            If (InStr(strLine, "Media Label: ") <> 0) Then
                  strMedia = strLine
                  strMedia = Mid(strMedia, 14, Len(strMedia))
                  intMedia = intMedia + 1
                  ReDim Preserve arrMedia(intMedia)
                  arrMedia(intMedia)  = strMedia
            End If
            If (InStr(strLine, "Slot: ") <> 0) Then
                  strSlot = strLine
                  strSlot = Mid(strSlot, 7, Len(strSlot))
                  intSlots = intSlots + 1
                  ReDim Preserve arrSlots(intSlots)
                  arrSlots(intSlots) = strSlot
            End If
            If (InStr(strLine, "Job completion status: ") <> 0) Then
                  strStatus = strLine
                  strStatus = Mid(strStatus, 24, Len(strStatus))
            End If
      Loop While Not objTextStream.AtEndOfStream

      Set objTextStream = Nothing

      ' Since it counts the verify as well as the normal backup halve the Job Total

      intJobTotal = intJobTotal / 2

End Sub


'
' Main Section
'

Set objOutputFile = objFileSystem.CreateTextFile(OUTPUTFILE, True, False)
Set objFolder = objFileSystem.GetFolder(LOGFOLDER)

For Each objInputFile in ObjFolder.Files

      If (Left(objInputFile.Name, 3) = "BEX") Then
            ParseLog objInputFile
            strOutput = strJobName & "," & strJobLog & "," & strBackupStarted & ","
            intMedia = 1
            For Each strMedia in arrMedia
                  strOutput = strOutput & strMedia & "(" & intMedia & "),"
                  intMedia = intMedia + 1
            Next
            intSlots = 1
            For Each strSlot in arrSlots
                  strOutput = strOutput & strSlot & "(" & intSlots & "),"
                  intSlots = intSlots + 1
            Next
            strOutput = strOutput & intJobTotal & "," & strStatus
            objOutputFile.WriteLine(strOutput)
            wscript.echo strOutput
      End If
Next

Set objFolder = Nothing
Set objOutputFile = Nothing
0

Featured Post

How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

NTFS file system has been developed by Microsoft that is widely used by Windows NT operating system and its advanced versions. It is the mostly used over FAT file system as it provides superior features like reliability, security, storage, efficienc…
Moore’s Law has proven itself time and time again since it was first introduced. So what’s next? Will Moore’s law continue to remain relevant, or will new technology take over and bring us the next big advancement in computing?
Please read the paragraph below before following the instructions in the video — there are important caveats in the paragraph that I did not mention in the video. If your PaperPort 12 or PaperPort 14 is failing to start, or crashing, or hanging, …
This lesson discusses how to use a Mainform + Subforms in Microsoft Access to find and enter data for payments on orders. The sample data comes from a custom shop that builds and sells movable storage structures that are delivered to your property. …

834 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question