Need to modify a working VBScript to use variables

Posted on 2014-09-26
Last Modified: 2014-09-26
Hello again everyone,

RobSamson was kind enough to author a VScript for me.
It works great and I am very pleased.

Here's what the short script looks like:
Set objShell = CreateObject("WScript.Shell")
strCommand = "cmd /c C:\BETASys\exf.exe  -c ""C:\BETASys\BETASys.md5"" > ""%USERPROFILE%\AppData\Local\Test\Intergrity_check_results.txt"""
objShell.Run strCommand, 1, True

Now, I should like to request a bit of help modifying RobSamson's work some. (If I might.)

The current script has three parameters:
The first parameter is the location and name of an executable that I want to run:
The second parameter is the location and name of an input file, that the executble in the first parameter will use:
-c ""C:\BETASys\BETASys.md5
And the thrid parameter, is where to send the output when the executable defined in the first parameter is run.
> ""%USERPROFILE%\AppData\Local\Test\Intergrity_check_results.txt"""

Now for my issue:
The folder locations for the first two parameters could be different each time I run this script.

What I would like to do (if it makes sense) is ....
Early in the script, I will populate a variable with what I want the first parameter to look like.
And I'll do the same for the second parameter.
I have some VBScript skills and I can do this.

Assuming the first variable is named "var1" and the second, is named "var2", how would I use var1 and var2, in the current line of strCommand = "cmd /c C:\BETASys\exf.exe  -c ""C:\BETASys\BETASys.md5"" > ""%USERPROFILE%\AppData\Local\Test\Intergrity_check_results.txt""" ?

Does that makes sense ?
Yes, I think it does.

Thank so very much for any replies.

Good morning.
  • 2
LVL 67

Accepted Solution

sirbounty earned 500 total points
ID: 40346239
Try this:

Set objShell = CreateObject("WScript.Shell")
var1 = "C:\BETASys\BETASys.md5"
var2 = "%USERPROFILE%\AppData\Local\Test\Intergrity_check_results.txt"
strCommand = "cmd /c C:\BETASys\exf.exe  -c " & chr(34) & var1 & chr(34) & " > " & chr(34) & var2 & chr(34) 
objShell.Run strCommand, 1, True

Open in new window

ID: 40346408
And this worked perfectly.

You are the greatest !
LVL 67

Expert Comment

ID: 40346627
Happy to help.  Thanks for the grade. :^)

Featured Post

DevOps Toolchain Recommendations

Read this Gartner Research Note and discover how your IT organization can automate and optimize DevOps processes using a toolchain architecture.

Question has a verified solution.

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

Welcome, welcome!  If you are new to the series and haven't been following along, please take a brief moment to review the first three installments: Part 1 (…
Over the years I have built up my own little library of code snippets that I refer to when programming or writing a script.  Many of these have come from the web or adaptations from snippets I find on the Web.  Periodically I add to them when I come…
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.

773 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