Passing multiple arguments in vbscript

CKP 1 Reputation point
2023-01-06T21:45:00.603+00:00

Hi There,
I have to pass multiple arguments in my .vbs script but the problem is the script does not get executed from task schedular if I pass multiple arguments separated by white spaces. I am running the script like below,

cscript//nologo D:\test\CPWinOraBackup0.100.vbs test_db D:\Oracle\WINDOWSX64_193000_db_home rman_hot D:\Oracle\DB_Backup\test_db 1> D:\test\test.log
where the syntax is as below,
cscript//nologo Script_path Oracle_home Backup_type Backup_directory retention_day
Thank you for your help in advance!
CKP

Windows Server
Windows Server
A family of Microsoft server operating systems that support enterprise-level management, data storage, applications, and communications.
12,206 questions
0 comments No comments
{count} votes

2 answers

Sort by: Most helpful
  1. Michael Taylor 48,826 Reputation points
    2023-01-06T22:43:21.3+00:00

    CScript requires that any arguments being passed to a script be preceded by a slash. So I wouldn't expect any of the arguments you specified outside the script name and /nologo to be forwarded to the script. So in general you would do something like this: cscript myscript.vbs //nologo /source:value /target:value. These are named arguments. You can use positional arguments but these tend to not work as well when called outside the command line.

    Another thing to consider is that if you're using Task Scheduler then there are 2 fields to be entered. The first field is the program name and that would be cscript. The second field is the arguments where you specify all the arguments to the script host. This is where your stuff needs to go. But having mentioned that then be aware that MS doesn't recommend that you try to run these scripts directly. There are problems. The recommended approach, as discussed in this old blog post is to create a command file that calls the script host instead. This would also resolve your argument issue I believe.

    0 comments No comments

  2. Deleted

    This answer has been deleted due to a violation of our Code of Conduct. The answer was manually reported or identified through automated detection before action was taken. Please refer to our Code of Conduct for more information.


    Comments have been turned off. Learn more