B4J Question Can't get a shell command to run???

LenS

Member
Good Morning.

I've been working (playing?) with a program and have stumbled into a problem that I can't seem to figure out even after substantial searching.

The program runs a loop to sequentially modify the dates on a series of image files. As an aside, my wife and I have android phones and they have no provision for organizing images in any order other than "most-recent-date-first". The goal here is to put a series of images into a Custom List, allow the user to rearrange them, and then modify the dates, incrementing each by one minute, so that they appear in the order desired...for our purpose the date itself is not important as many are old scanned family photos.

I know of no other way to change the EXIF date on images other than by using exiftool.exe. Here my program is supposed to loop through he list of images and in each case call up a shell and using exiftool modify the date. I have done this in the past with VB6 but here I can't seem to get the shell to run! Probably a stupid mistake or oversight on my part but any help would be most welcome.

A code snippet is attached. I have verified the parameter list, destination folder and EXIF command and all seem to be correct. The program hits the corresponding lines of code but nothing happens! I have even set breakpoints at shl.initialize and shl(run(-1) and nothing! I am stumped! Would appreciate any feedback. Thanks very much

Len

B4X:
'command repeated in a loop:
            'exiftool "-CreateDate=2018:12:23 00:05:42" filename -overwrite_original
            
            Dim shl As Shell   
            Dim params As List
            params.Initialize
            
            params.Add(QUOTE & " -CreateDate=" &  dateStamp & QUOTE)
            params.Add(QUOTE & f & QUOTE &  " -overwrite_original ")
                        '
            Log(params)
            'params = [" -CreateDate=2021:12:20 00:02:00", "California & Nevada (7).jpg" -overwrite_original ]
            
            Log(destinationFolder)
            'P:\Test Folder\ReSequenced\
            
            shl.Initialize("shl", destinationFolder & "exiftool",  params)
            shl.WorkingDirectory = destinationFolder
            shl.Run(-1)
 

LenS

Member
Good morning.

Thanks for your prompt reply and suggestions yesterday. The issue turned out to be a path error (due to all my QUOTES!)
Got it working and I will certainly look into smart strings.
Thanks again.
Len
 
Upvote 0
Top