I've been using the following System.Execute command to successfully launch and join a regular ZOOM call using a Macro Button (confno and pwd obviously anonymised):
System.Execute("%windir%\system32\cmd.exe","%temp%","/C %APPDATA%\Zoom\bin\Zoom.exe %' --url=zoommtg://zoom.us/join?action=join&confno=1111111111&pwd=AAAAAAAA%'");
It works, but I think there could be a more elegant solution that doesn't rely on using the ‘CMD’ shell. I tried the following approach:
System.Execute("%APPDATA%\Zoom\bin\Zoom.exe", "%temp%", " --url=zoommtg://zoom.us/join?action=join&confno=&pwd=1111111111&pwd=AAAAAAAA");
Although it successfully launches ZOOM, the conference number and password aren't recognised by ZOOM and it doesn't join the call. I think it might be that ZOOM needs to have the string enclosed in quotes but the System.Execute strips the quotes from the ‘dir’ string? I’ve tried using the percent+quote (%’) and percent+ampersand (%&) in various combinations, but without success.
I can’t find an answer in the forum, so I am asking for suggestions?
Passing a quoted string in the System.Execute 'dir' argument.
-
- Posts: 173
- Joined: Tue Feb 18, 2020 12:04 am
Re: Passing a quoted string in the System.Execute 'dir' argument.
Yes, the string needs to be in apostrophes (this is specific to zoom) and no, they are not there, so you're on the right track.
The term you're after here is "escape character", but I don't think you actually need one since the characters aren't stripped, they're just missing.
Did you try it straight up with the quotes like so:
System.Execute("%APPDATA%\Zoom\bin\Zoom.exe", "%temp%", "'--url=zoommtg://zoom.us/join?action=join&confno=&pwd=1111111111&pwd=AAAAAAAA'");
Note that I have "'... '" and you have "...". Those apostrophes from the working command aren't in your nonworking one. It's not that they're stripped, they just aren't there.
The term you're after here is "escape character", but I don't think you actually need one since the characters aren't stripped, they're just missing.
Did you try it straight up with the quotes like so:
System.Execute("%APPDATA%\Zoom\bin\Zoom.exe", "%temp%", "'--url=zoommtg://zoom.us/join?action=join&confno=&pwd=1111111111&pwd=AAAAAAAA'");
Note that I have "'... '" and you have "...". Those apostrophes from the working command aren't in your nonworking one. It's not that they're stripped, they just aren't there.
-
- Site Admin
- Posts: 2136
- Joined: Sun Jan 17, 2010 12:01 pm
Re: Passing a quoted string in the System.Execute 'dir' argument.
% + simple quote will be replaced by double quote
%' = "
and %% = %
%' = "
and %% = %
Re: Passing a quoted string in the System.Execute 'dir' argument.
Thanks guys. I have played around a little more after your suggestions and got it working. The exact format of the call I used is:
System.Execute("%APPDATA%\Zoom\bin\Zoom.exe", "%temp%", "' --url=zoommtg://zoom.us/join?action=join&confno=111111111&pwd=AAAAAA '");
The interesting thing is that I had to put a space between the end of the password and the quotes ->AAAAAA '"<- to make ZOOM recognise the password.
Awesome. I can now launch my remote guitar sessions using Macro Buttons and don't have to fiddle with passwords.
System.Execute("%APPDATA%\Zoom\bin\Zoom.exe", "%temp%", "' --url=zoommtg://zoom.us/join?action=join&confno=111111111&pwd=AAAAAA '");
The interesting thing is that I had to put a space between the end of the password and the quotes ->AAAAAA '"<- to make ZOOM recognise the password.
Awesome. I can now launch my remote guitar sessions using Macro Buttons and don't have to fiddle with passwords.