I am using the Keil uVision IDE under Wine. This has the option to run a user-specified batch file for special compilations. The batch file I have written determines whether it is running under Windows or Linux and, in the latter case, runs a shell script to perform the required action. (The shell script simply converts the file names from DOS to Linux and runs the same Java program to perform the work.) This used to work. However, when I recreated by source tree anew from the VCS, it stopped working. The failure appears to be that it cannot find the shell script. (Both the batch file and the shell script have the executable flag set.) Adding debug output to the batch file shows that it is finding the shell script, but it still reports "file not found" when trying to execute it. (I have checked that the path has exactly the same case as the command.) Code: @echo off REM SHELL is defined under Wine, but not under Windows if not "%SHELL%"=="" ( echo "Linux" if exist ../utilities/h86crc/bin/javacrc.sh ( echo "javacrc.sh exists" ../utilities/h86crc/bin/javacrc.sh %1 %2 %3 %4 ) else ( echo "javacrc.sh not found" ) ) else ( echo "Windows" java %1 %2 %3 %4 ) The output is: User command #1: ..\utilities\h86crc\bin\javacrc.bat -jar ..\utilities\h86crc\bin\H86CRC.jar -m:1024 H:\projects\atlasxml\AtlasMV\Bin\AtlasMV_NRIM01.H86 "Linux" "javacrc.sh exists" File not found The first line of the shell script is an echo command and this does not appear. Any help in resolving this would be very much appreciated. Thanks.