I just want to create batch which runs command in new invisible batch
Unless I misunderstand what you are trying to accomplish, you can make the logic of the VBS script accept the first argument, which will be the full path to a batch file, and this will ensure that that batch script runs hidden or silently.
This way you can make the batch script logic do whatever you want, and then you pass that script to the VBS script and that'll ensure whatever logic it runs will be hidden.
VBS Script Logic
Set Arg = WScript.Arguments
var = Arg(0)
Set WinScriptHost = CreateObject("WScript.Shell")
WinScriptHost.Run Chr(34) & var & Chr(34), 0
Set WinScriptHost = Nothing
Set Arg = Nothing
Testing It
To test this you can run something like. . .
C:\folder\path\InvisibeArgTest.vbs "C:\folder\path\script.bat"
If you convert the VBS script to an executable file, then you'd use something like. . .
C:\folder\path\InvisibeArgTest.exe "C:\folder\path\script.bat"
Note: With this method, you can have just one VBS script or converted EXE and then you can program in the batch script logic to do
whatever you want. You'd only need to pass that batch script full path into it as the first argument and it'll
run whatever the batch script logic contains hidden. This way you have
the flexibility to run any batch script with it or change the batch
script logic you pass to it without needing to change the VBS logic or
recompile the EXE or use another batch script. Keep it simple if it'll suffice.
Further Resources