exiftool -d Picture move to server

Started by timsson, November 09, 2010, 08:21:13 AM

Previous topic - Next topic

timsson

Hi,

I might stumble over my own feet because i dont can move my picture to my server...

exiftool -d \\10.1.1.101\Dir_1\Dir_2\%%Y/%%Y_%%m_%%d "-directory<datetimeoriginal" *.*
don't work
Error creating directory //10.1.1.101

but
exiftool -d z:\Dir_1\Dir_2\%%Y/%%Y_%%m_%%d "-directory<datetimeoriginal" *.*
work-'s fine - why???

Phil Harvey

These UNC paths are problematic.  What version of ExifTool are you using?  There was a problem related to UNC paths that was fixed in version 8.33.

- 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 ($).

timsson

Quote from: Phil Harvey on November 09, 2010, 09:05:17 AM
These UNC paths are problematic.  What version of ExifTool are you using?  There was a problem related to UNC paths that was fixed in version 8.33.
- Phil

i use the newest 8.38 and Windows7

Phil Harvey

Thanks, I just wanted to be sure the problem wasn't already fixed.

The error indicates that as far as Perl is concerned, "//10.1.1.101" isn't a directory.

If you do "dir \\10.1.1.101" in a command shell, do you get a directory listing?

Do you have Perl installed?  If so, what do these commands print?:

perl -e "print(-d '//10.1.1.101' ? 'YES' : 'NO')"
perl -e "print(-e '//10.1.1.101' ? 'YES' : 'NO')"

The first command tests to see if "//10.1.1.101" is a directory, and the 2nd tests to see if it exists.  The forward slashes should be the same as backslashes in Perl, and exiftool converts all slashes to forward internally, so this corresponds to the tests that exiftool would run.

- Phil

P.S. For reference, this is the thread with the other UNC path problem.
...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 ($).

timsson

Quote from: Phil Harvey on November 09, 2010, 10:08:18 AM
Thanks, I just wanted to be sure the problem wasn't already fixed.

The error indicates that as far as Perl is concerned, "//10.1.1.101" isn't a directory.

If you do "dir \\10.1.1.101" in a command shell, do you get a directory listing?

yes

\\10.1.1.101\Dir_1\Dir_2\ - print all Directories\Pictures in Dir_2
Quote
Do you have Perl installed?  If so, what do these commands print?:
no Perl insite - I use the Windows Executable


I will make a folder like this: 2010/2010_11_01 and this folder do not exists
(exiftool -d \\10.1.1.101\Dir_1\Dir_2\%%Y/%%Y_%%m_%%d "-directory<datetimeoriginal" *.*)


Phil Harvey

#5
Quote from: timsson on November 09, 2010, 10:37:02 AM
Quote from: Phil Harvey on November 09, 2010, 10:08:18 AM
If you do "dir \\10.1.1.101" in a command shell, do you get a directory listing?

yes

Good.

Quote
no Perl insite - I use the Windows Executable

This will make it difficult to find a solution since I don't have the ability to test UNC paths myself.

The other user having this problem was able to do some real debugging, and from his tests I can't understand why this doesn't work for you.  The only real difference is that his network drive was called "//nautilus", while yours is called "//10.1.1.101".  From the tests that he ran, the Perl operation "-d '//nautilus'" returned true, but for you it seems that "-d '//10.1.1.101'" returns false.  If this is correct, then I don't know where to go from here.

- Phil

Edit:  Hold on.  It seems that the other user was running these tests in cygwin, not Windows.  So it could easily be that this is an ActivePerl problem.  I will look into this.

Update: It looks like ActivePerl should handle UNC path names.  It would really help if someone could test the perl commands above with ActivePerl 5.8.x and a network drive.
...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 ($).

Phil Harvey

I did some more research.  Apparently is is possible to map a shared drive in Windows to a drive letter (using the "Tools/Map Network Drive" menu in Explorer).  Doing this may bypass the problem by allowing you to use a drive letter instead of a UNC path in exiftool.

- 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 ($).

timsson

Quote from: Phil Harvey on November 09, 2010, 11:46:38 AM
I did some more research.  Apparently is is possible to map a shared drive in Windows to a drive letter (using the "Tools/Map Network Drive" menu in Explorer).  Doing this may bypass the problem by allowing you to use a drive letter instead of a UNC path in exiftool.
- Phil

temporary i solve my problem with a
cmd-file:
net use Z: \\10.1.1.101\SharedName
exiftool -d Z:\Bilder\%%Y/%%Y_%%m_%%d "-directory<datetimeoriginal" *.*
net use Z: /d

Thanks

Phil Harvey

I'm glad the work-around got you going, but I will look into this in more detail to see if I can fix the problem.

- 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 ($).

Phil Harvey

I have applied a patch which will hopefully fix this problem in the current version (ExifTool 8.39, just released).

- 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 ($).