ОБНОВЛЕНИЕ - РЕШЕНИЕ
Строка, сгенерированная объектом File с помощью nativePath или resolPath, использует "\" для пути. Замените "\" на "/", и это работает.
У меня та же проблема при попытке вызвать 7za.exe с помощью NativeProcess. Если вы пытаетесь получить доступ к различным каталогам Windows, все это терпит неудачу ужасно. Даже попытка запустить command.exe и вызвать командный файл не удалась, потому что вам все равно придется пытаться передать путь с пробелами через «аргументы» в объекте NativeProcessStartupInfo.
Я потратил большую часть дня, пытаясь заставить это работать, и это не будет работать. Все, что происходит с пробелами в «аргументах», полностью разрушает путь.
Пример 7za.exe из командной строки:
7za.exe a MyZip.7z "D: \ docs \ Мои игры \ Заголовок некоторых игр \ Карты \ Карта.map"
Это отлично работает. Теперь попробуйте это с Native Process в AIR. Средство очистки аргументов AIR - FUBAR.
Я пробовал бесчисленное множество способов привести аргументы, и это просто не помогло. Интересно, я могу заставить его выплевывать zip-файл, но без содержимого в zip-файле. Я полагаю, что это связано с тем, что первый набор аргументов, наконец, работает, но затем не работает для аргумента пути.
Например:
processArgs [0] = 'a';
processArgs [1] = 'D: \ apps \ flash builder 4.5 \ project1 \ bin-debug \ MyZip.7z';
processArgs [2] = 'D: \ docs \ Мои игры \ Заголовок некоторых игр \ Карты \ Карта.map';
По какой-то причине это выплевывает zip-файл с именем bin-debugMyZip.7z, но zip пуст.
Что бы AIR ни делал, он разрушает пути. Я пытался добавлять кавычки вокруг этих путей различными способами. Ничего не работает.
Я подумал, что могу вернуться к вызову командного файла из этого примера:
http://technodesk.wordpress.com/2010/04/15/air-2-0-native-process-batch-file/
Но он также не работает, потому что он все еще требует, чтобы путь был передан через аргументы.
Кому-нибудь повезло с вызовом 7z или с полными путями в NativeProcess? Все эти маленькие счастливые уроки не имеют отношения к реальной структуре папок Windows.