Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 1075373
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 16, 20262026-05-16T21:15:44+00:00 2026-05-16T21:15:44+00:00

In vbscript, how do I run a batch file or command, in the current

  • 0

In vbscript, how do I run a batch file or command, in the current cmd prompt window,

without starting a new process.

For example. According to script56.chm (the vbscript help apparently)
Windows Script Host
Run Method (Windows Script Host)
“Runs a program in a new process”

So if I have code that uses that e.g. a VBS file, and a BAT file.
An environment variable g has the value abc g=abc
from that command window,
The VBS file calls the BAT file with windows scripting host Run.
The bat process sets g=z. and finishes.. and the vbs process finishes.
The environment variable is left untouched as g=abc.

I know
CreateObject(“Wscript.Shell”).Run “c:\test.bat”, 0
starts a new window as is clear when using 1 instead of 0. (since 0 hides the window)

How do I
-run the bat file from the vbs, in the same cmd environment that the vbs was called in, so changes affect the cmd environment it was called in?
-In the two windows case which this one is at the moment, how do I access the environment of the parent cmd window, from the batch file?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-16T21:15:45+00:00Added an answer on May 16, 2026 at 9:15 pm

    how do I run a batch file or command, in the current cmd prompt window, without starting a new process?

    I don’t think you can; your vbscript runs under a script host engine (such as cscript.exe or wscript.exe), and batch files are interpreted by the command interpreter (typically cmd.exe). Both are separate executables and neither is, to my knowledge, available as an in-process library, so you cannot interpret .vbs and .cmd files within the same process. I also highly doubt that the script host engine that is running your VBScript also could run the batch file in its parent cmd.exe – I don’t think you can ‘inject’ a new batch file into a running cmd.exe.

    how do I access the environment of the parent cmd window, from the batch file?

    Not just access, but change – MSDN’s “Changing Environment Variables” is quite explicit on this: “Altering the environment variables of a child process during process creation is the only way one process can directly change the environment variables of another process. A process can never directly change the environment variables of another process that is not a child of that process.” You are trying to change the environment of the parent, not child, process. (I do wonder what ‘directly’ means in the context of this quote, though).

    I would guess that the reason for this is security; imagine the havoc that could be wreaked if arbitrary processes could (maliciously or accidentally) change the PATH (or COMSPEC) environment variable of a running process, such as your vbscript host engine process – it could fail to launch your bat file entirely, breaking your program.

    It would seem that you’re out of luck – however, there are lots of other mechanisms for passing information between processes. Here are a couple of suggestions that are fairly simple to implement when talking between a batch file & vbscript, although it’s by no means exhaustive:

    • Exit codes
    • Writing to & Parsing the consoleoutput (stdout) or a temp file

    If you absolutely need to set environment variables in the parent cmd.exe (and also absolutely need the intermediate step of a vbscript), then you may have to write a wrapper batch file which runs the vbscript, consumes information produced by it and then sets environment variables; because the wrapper cmd is executing in the top-level cmd process, it will be able to change the env vars there.

    Footnote: Note that you can change the permanent system/user environment variables (as opposed to process environment variables) from within a VBScript, but I wouldn’t recommend this if you are trying to create a transient state; besides this won’t affect already-running processes (like the parent cmd.exe) anyway.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I want to run a VBScript file from an Ant script. How can I
I'm using CScript to run a VBScript file, and I need to pass a
I have a vbscript file that I want to run in my vb.net application.
I want to run vbscript file using cscript.exe. i searched a lot but did'nt
Consider the following VBScript which, when run, lists all the files in the current
This is a VBScript code example that shows how to catch whatever a command
I have a VBScript file which I am trying to call from a Batch
I need to either write a batch file or a vbscript that will rename
How do I get a vbscript to run another vbscript? Id imagine its only
I have a little problem with a simple vbScript. The script has to run

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.