в принципе, в анонсе все есть
программа запускается следующей коммандной строкой (например):
SetTempDir.exe "c:\Program Files\1cv82\8.2.13.205\bin\1cv8s.exe" /PROCESS_TEMP_DIR=C:\Temp
запущенная 1С будет использовать как временный каталог, то что указано в параметре /PROCESS_TEMP_DIR=
проверено с 8.1 и 8.2
это на самом деле уже пример, как далеко человек может уйти в своих незнаниях - я потратил кучу времени, написал эту прогу, которая в себе содержит dll, которая в свою очередь перехватывает вызов API.
а ларчик просто открывается:
cmd файл:
set TEMP=C:\Temp
"C:\Program Files\1cv82\8.1.15.14\bin\1cv8.exe"
или не открывается?
Ларчик открывается просто, но чуть сложнее, вот таким cmd фалом:
@set @x=0 /*
@echo off
rem echo This is CMD-part of script
SET Temp=C:\Temp
SET Tmp=C:\Temp
cscript /nologo /e:javascript %~dpf0
rem pause
goto:eof */
var FSO = new ActiveXObject("Scripting.FileSystemObject");
WScript.Echo("Use TEMP: " + FSO.GetSpecialFolder(2))
var WshShell = new ActiveXObject("WScript.Shell");
WshShell.Exec("C:\\Program Files\\1cv82\\common\\1cestart.exe"); // не забываем про двойные слеши
тут совмещены CMD и js файлы. CMD нужен чтобы установить переменные среды, а js нужен чтобы запустить программу без ожидания завершения.