lib/Webforge/Common/System/Util.php
public static function escapeShellArg($arg, $escapeFor = NULL) {
    $escaped = \Symfony\Component\Process\ProcessUtils::escapeArgument($arg);

    return Preg::replace($escaped, '~(?<!\\\\)\\\\"$~', '\\\\\\"');
  }
public static function escapeShellArg($arg, $escapeFor = NULL) {
    $escaped = \Symfony\Component\Process\ProcessUtils::escapeArgument($arg);

    return Preg::replace($escaped, '~(?<!\\\\)\\\\"$~', '\\\\\\"');
  }
public static function escapeShellArg ( $ arg , $ escapeFor = NULL ) { $ escaped = \ Symfony \ Component \ Process \ ProcessUtils :: escapeArgument ( $ arg ) ; return Preg :: replace ( $ escaped , '~(?<!\\\\)\\\\"$~' , '\\\\\\"' ) ; }
This escapes shell arguments on windows correctly

@return string
This escapes shell arguments on windows correctly