See here: about_quoting_rules
and here: about_parsing
I built the exe from the code here: TestExe.cs
I ran it with different depths of quotes:
With a depth of 1 (the quotes disappear, which your "file.exe" ignores, I think) even though the spaces are passed a Arg2 and Arg3:
C:\Users\richm\SourceCode\ConsoleApp1\bin\Debug\ConsoleApp1.exe -echoargs \sharenetworkdrive\files\File.exe \anothernetworkdrive\apps\dev\ " " " " "Movefiles"
Arg 0 is <\sharenetworkdrive\files\File.exe>
Arg 1 is <\anothernetworkdrive\apps\dev\>
Arg 2 is < >
Arg 3 is < >
Arg 4 is <Movefiles>
With a depth of 2 (the values between the quotes are passed, but now there are 4 empty parameters, and the quotes are removed from around the ""Movefiles""):
C:\Users\richm\SourceCode\ConsoleApp1\bin\Debug\ConsoleApp1.exe -echoargs \sharenetworkdrive\files\File.exe \anothernetworkdrive\apps\dev\ "" "" "" "" ""Movefiles""
Arg 0 is <\sharenetworkdrive\files\File.exe>
Arg 1 is <\anothernetworkdrive\apps\dev\>
Arg 2 is <>
Arg 3 is <>
Arg 4 is <>
Arg 5 is <>
Arg 6 is <Movefiles>
With a depth of 4 (now quotes are passes as arguments, but the quotes are properly placed around the 'Movefiles' argument):
C:\Users\richm\SourceCode\ConsoleApp1\bin\Debug\ConsoleApp1.exe -echoargs \sharenetworkdrive\files\File.exe \anothernetworkdrive\apps\dev\ """" """" """" """" """"Movefiles""""
Arg 0 is <\sharenetworkdrive\files\File.exe>
Arg 1 is <\anothernetworkdrive\apps\dev\>
Arg 2 is <">
Arg 3 is <">
Arg 4 is <">
Arg 5 is <">
Arg 6 is <"Movefiles">
With a depth of 3 (there are quotes passed around the spaces and the 'movefiles'):
C:\Users\richm\SourceCode\ConsoleApp1\bin\Debug\ConsoleApp1.exe -echoargs \sharenetworkdrive\files\File.exe \anothernetworkdrive\apps\dev\ """ """ """ """ """Movefiles"""
Arg 0 is <\sharenetworkdrive\files\File.exe>
Arg 1 is <\anothernetworkdrive\apps\dev\>
Arg 2 is <" ">
Arg 3 is <" ">
Arg 4 is <"Movefiles">
So . . . try passing those arguments with a quoting level of 3 and see if that works for you.