I am using the output the List Files node to do a bunch of stuff. Once done, I want to move the files from the “Input Directory” to a “Complete Directory”. Both are defined as global Workflow Variables. My output tables for String to URI and Extract URI Info contain the correct file names before executing the Copy/Move node. File names start with the fully qualified "//us.teo.earth/shares… " but the Copy/Move node substitutes that with a “D:” drive letter and can’t find the files.
I tried to cram the relevant stuff into a single streenshot.
Please let me know how to remedy this. I am usin Knime Analytics Platform 4.2 on a standalone machine.
Welcome to the KNIME community. How did you configure the Copy/Move Files node, did you use the generated URI or an other output field of the Extract URI Info node? Or was the latter node only added for testing purposes? Just wondering because the Copy/Move Files uses the URI for the access of files.
Edit: I deleted your screenshot to hide the shown network path from the public.
I forgot to add. D: is where Knime is installed. The workflow seems to assume that is the starting point and substitutes the drive letter in rather than using the starting point \us.teo.earth in the variable.
Note that when I eliminate the Flow Variable for “ouputdirectory” and hardcode the directory path to “Q:\directory” in the “use source name and output directory” option in the Copy/Move Files node then it works fine.
My real question is this. How can I a.) use a Flow Variable for my ouput directory and b.) not use a drive letter to reference the file location ?
Drive letters can change from machine to machine, so I want to reference the file location using “\\name\shares\directory” rather than “Q:\directory”.
I wasn’t able to figure this out with machine reference and used the mapped drive letter to make it work. In this instance this will be OK as I am using a drive letter used consistently by all corporate wide, but in other instances I can’t do that. It seems to me the node should be able to handle this and not substitute in a drive letter that wasn’t configured and is not applicable. Seems to me this is a node deficiency unless I am not getting somethng.
As I have quoted two times. The URI standard is if you do not provide an indication of a type of link like “file” it will give you a relative reference which means if you are (or your workflow is) on drive “d:” it will look there. That is the standard and I do not think KNIME would change that. You would have to provide a conforming string in order to get a different result in my opinion.
Maybe I am misunderstanding how to use the URI node then. My desire is to pass as a flow variable with the input directory to the List Files node using the //machinename/directory format (no drive letter referece) and gives me file names the same way. Is there a way to accomplish that without a lot of string manipulations?