I could not see on your Process Monitor log files the reason for failure on script execution. But I could see on log files your user account name, a string consisting of three Korean characters which must be Unicode encoded in file system. So I used next Process Monitor on my machine to find out if UE/UES use the temporary files directory on running a script and the answer is: yes, it does. UE/UES use the directory specified by environment variable
TMP.
So I tried what happens if I create the directory
C:\Users\YourAccountName
\AppData\Local\Temp and edit my user account related environment variables
TEMP and
TMP to this path with the three Unicode encoded Korean characters. After making this modification on my environment variables, I started UltraEdit and executed the script. It worked and I was really surprised that it worked.
I looked on Process Monitor log on my Windows 7 computer how an environment variable is defined by Windows 7 which contains Unicode characters. Well, the environment variable is defined as Unicode encoded string. So no problem if the application is full Unicode aware and uses the Unicode variant of the environment variable. But I wanted to know how such a path is managed by Windows for non-Unicode aware applications. Therefore I opened next a command prompt window and executed command line
set T to see all environment variables starting with letter
T in any case and saw
TEMP and
TMP defined using short 8.3 path of
C:\Users\YourAccountName
\AppData\Local\Temp which does not contain Unicode characters.
Then I wanted to know what happens if the folder path assigned to environment variable
TMP specifies a folder which does not exist at all. So I edited once more the
TMP variable and modified the path to
C:\Users\YourAccountName
\AppData\Local\TempX and saved the modification. There was of course no directory with name
TempX. After restarting UltraEdit to get the modification of environment variable
TMP effective for UltraEdit process, I executed the script once again and now it failed with the same error message as you see always in output window. I looked on the environment variable
TMP in a newly opened command prompt window and it was defined as
C:\Users\???
\AppData\Local\TempX. There was three times the wildcard character
? in folder path instead of short 8.3 name of the user account directory. This is of course invalid. The wildcards
? and
* are not allowed in file/folder paths. So if Windows can't find the directory containing the Unicode characters in path to determine the path in short 8.3 format, it replaces the Unicode characters by question marks and application's behavior becomes unexpected.
I suggest following:
- Create a directory C:\Temp
- Open System settings of Windows Control Panel.
- Click on Advanced system settings on left side.
- Click at bottom on button Environment Variables.
- In the upper half of the window double click on variable TEMP, modify the variable value at bottom to C:\Temp and click on button OK.
- In the upper half of the window double click on variable TMP, modify the variable value at bottom also to C:\Temp and click on button OK.
- Close the Environment Variables dialog window with button OK.
- Close the System Properties dialog window with button OK.
- Start now UltraEdit or UEStudio.
It is important to start UE/UES new if they were already running as otherwise the changes on the two environment variables do not become effective.
- Run the script from the script list.
Does it work now as expected by me with directory for temporary files being
C:\Temp?
I recommend restarting Windows if the change of the directory for temporary files to simple
C:\Temp really works because of other applications should use now this directory, too.