Go Premium for a chance to win a PS4. Enter to Win


Need to modify a working VBScript to use variables

Posted on 2014-09-26
Medium Priority
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 2000 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

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

This is pretty cool.  The purpose of this VB Script is to help you document where JAR (Java ARchive) files and specifically java class files are located so that you can address issues seen with a client or that you can speak intelligently with a dev…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
Integration Management Part 2
Screencast - Getting to Know the Pipeline
Suggested Courses
Course of the Month11 days, 17 hours left to enroll

916 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