"Can't open perl script "-e"; No such file or directory" running ExifTool.exe

Started by Allen B. Taylor, February 10, 2011, 01:04:48 PM

Previous topic - Next topic

kmmareek

Quote from: Phil Harvey on April 25, 2012, 07:12:42 AM
Try typing "set" then RETURN at the cmd.exe prompt, and post the results.  I may get a hint about the problem if I can see your system environment settings.

- Phil

Yesterday I installed the ActivePerl-5.14 but :(

set:
ALLUSERSPROFILE=C:\Documents and Settings\All Users
APPDATA=C:\Documents and Settings\Rafalk\Dane aplikacji
CommonProgramFiles=C:\Program Files\Common Files
COMPUTERNAME=RKL
ComSpec=C:\WINDOWS\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\Rafalk
LOGONSERVER=\\RKL
MIGO_DRIVE=P
NUMBER_OF_PROCESSORS=2
Oracle_SID=ora
OS=Windows_NT
Path=C:\Program Files\Perl\site\bin;C:\Program Files\Perl\bin;C:\oracle\product\11.1.0\client_1\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\oracle\product\11.1.0\db_1\bin;C:\Program Files\PC Connectivity Solution\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\wbem;C:\Program Files\ThinkPad\Utilities;C:\Program Files\Common Files\Lenovo;C:\Program Files\Lenovo\Client Security Solution;C:\Program Files\QT Lite\QTSystem;E:\;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 15 Stepping 6, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0f06
ProgramFiles=C:\Program Files
PROMPT=$P$G
RR=C:\Program Files\Lenovo\Rescue and Recovery
SESSIONNAME=Console
SMA=C:\Program Files\ThinkVantage\SMA\
SWSHARE=C:\SWSHARE
SystemDrive=C:
SystemRoot=C:\WINDOWS
TEMP=C:\DOCUME~1\Rafalk\USTAWI~1\Temp
TMP=C:\DOCUME~1\Rafalk\USTAWI~1\Temp
TVT=C:\Program Files\Lenovo
TVTCOMMON=C:\Program Files\Common Files\Lenovo
TVTPYDIR=C:\Program Files\Common Files\Lenovo\Python24
USERDOMAIN=RKL
USERNAME=Rafalk
USERPROFILE=C:\Documents and Settings\Rafalk
windir=C:\WINDOWS
__COMPAT_LAYER=EnableNXShowUI


PH Edit: Put "set" output in a code block

Phil Harvey

Thanks.

This looks very similar to my XP environment here.  The one difference is the location of your temporary directory.  Mine is "C:\DCOUME~1\Phil\LOCALS~1\Temp" which corresponds to "c:\Documents and Settings\Phil\Local Settings\Temp".  Your temporary directory is "C:\DOCUME~1\Rafalk\USTAWI~1\Temp", which is a bit different.  I just want to confirm that you looked in this directory for the "par-Rafalk" directory containing the ExifTool temporary files.

Also, since you now have Perl installed, you should be able to run the pure Perl version of ExifTool (the first download link on the ExifTool home page).  Did you try this?

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

kmmareek

Mine directory is C:\DOCUME~1\Rafalk\USTAWI~1\Temp  which means USTAWIENIA LOKALNE (XP-Polish wersion).
Yes, I was looking in par-Rafalk (only perl58.dll and exiftool.exe).
c:\Documents and Settings\Rafalk\Local Settings\Temp is empty.

I can run the pure Perl version... but this is not the solution ;(


Phil Harvey

OK, thanks.  I think we're on solid footing now.

The ExifTool temporary files should be inside a directory named "cache-exiftool-8.89" inside par-Rafalk... I'm assuming that's where you found perl58.dll and exiftool.exe?  In my installation, perl58.dll and exiftool(-k).exe are in this directory, along with a number of other files.

I'm not sure what could possibly cause PAR to fail extracting all of these files.  I suppose it could be some sort of permission problem if PAR launches a process with different access rights to do the unpacking.  I don't know how directory permissions work in Windows, but you might try making the "par-Rafalk\cache-exiftool-8.89" directory writable by anyone.

Also, just in case there is something with this specific version, did you try other exiftool versions?  As well, it seems that you renamed "exiftool(-k).exe" to "exiftool.exe".  I don't think this could be the problem, but try just double clicking on the distributed "exiftool(-k).exe" after just removing it from the zip archive without doing anything else first.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

kmmareek

Files: perl58.dll (815185bytes) and exiftool.exe (53299bytes) is in temp\cache-exiftool-8.89.
I added permissions (write etc) for temp\ for everyone.
I've tried other version of exiftool: 8.61, 8.88...
It makes no difference whether I run the exiftool.exe or exiftool(-k).exe.
Anyway, thank you for your interest :)

Phil Harvey

These files are the same size as the ones I get (except mine is called "exiftool(-k).exe").

But for some reason, PAR isn't unpacking the files it needs.  This is clearly a system-dependent PAR problem, but at this point I am running out of ideas about how to proceed.  I really don't know much about the inner workings of PAR, and I can't reproduce this problem here, so this problem may be difficult for me to solve.

- Phil

...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

kmmareek

Is it possible to be OK if i copy content of the par-USER catalog from another computer on which the exiftool operates? Can you place the contents of a par-USER directory on your website? :)
Once again thank you for your interest! :)

Phil Harvey

OK, I'll upload the contents of my par-Phil tomorrow when I'm back on a fast internet connection.

I just tried deleting all of the par-Phil/cache-exiftool-8.89 files except for perl58.dll and exiftool(-k).exe, and it re-created the others when I ran the distributed version of exiftool(-k).exe.  So the problem isn't just that it didn't unpack properly for you the first time.

I suppose that some over-active virus protection software could possibly prevent exiftool from writing these files... Do you have virus protection installed?  If so, you might try disabling it for a test.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

kmmareek


Phil Harvey

The cache directory for exiftool(-k).exe version 8.89 may be downloaded from here:

cache-exiftool-8.89.zip

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

kmmareek

Thank you, I checked, but does not work. Still Can't open perl script "-e"

Phil Harvey

Well, it was worth a try.

The error message is a bit odd because "perl -e EXPR" executes the expression on the command line, but the message seems to indicate that it is looking for a Perl script named "-e", as if it had interpreted "-e" as a file name.  I took a look at the PAR code to see if I could figure out how this might happen, but didn't get very far.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

kmmareek

I loged (process monitor) action when run exiftool.

I wonder what it means :
cache-exiftool-8.89\site\5.8.7\
cache-exiftool-8.89\lib
cache-exiftool-8.89\ShimEng.dll
??

Phil Harvey

This log is useful.  Did you perhaps try to run exiftool.exe instead of exiftool(-k).exe?

I don't see any accesses to "exiftool(-k).exe" in your temp directory, but I see some for "exiftool.exe" which doesn't exist in the cache file I sent.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

kmmareek

I run exiftool.exe (after rename it from exiftool(-k).exe). Does not matter if I run exiftool or exiftool(-k). It creates exiftool.exe (53299B) in c:\Documents and Settings\Rafalk\Ustawienia lokalne\temp\par-Rafalk\cache-exiftool-8.89\.
At attachment: Process Monitor log http://technet.microsoft.com/en-us/sysinternals/bb896645

P.S. sorry for my english :)