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\
and edit my user account related environment variables TEMP
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
defined using short 8.3 path of C:\Users\
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\
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\
. 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 ?
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.