Post a reply

Before posting, please read how to report bug or request support effectively.

Bug reports without an attached log file are usually useless.

Options
Add an Attachment

If you do not want to add an Attachment to your Post, please leave the Fields blank.

(maximum 10 MB; please compress large files; only common media, archive, text and programming file formats are allowed)

Options

Topic review

martin

Re: SFTP help with using a Windows environmental variable?

WinSCP does understand the environment variables.
https://winscp.net/eng/docs/scripting#variables

Where do you run the command from? If you run the command from a batch-file, the variable should be resolved by the cmd.exe and WinSCP should get a real path anyway.

Please attach a full log file showing the problem (using the latest version of WinSCP).

To generate log file, use /log=path_to_log_file command-line argument. Submit the log with your post as an attachment. Note that passwords and passphrases not stored in the log. You may want to remove other data you consider sensitive though, such as host names, IP addresses, account names or file names (unless they are relevant to the problem). If you do not want to post the log publicly, you can mark the attachment as private.
meso

SFTP help with using a Windows environmental variable?

Hi I'm using the latest version of winscp on Windows 2003-2008 but it might expand to windows 7 etc.

I need to be able to use a Windows environmental variable in the winscp command I'm issuing but winscp doesn't seem to understand it so I'm not sure how to proceed?

It's for a very basic task of uploading all of the files in a directory to an SFTP server. My problem is I can't rely on hardcoded paths for the C: drive. It might be C: or D:. Thus I use the windows environmental variable %TEMP% which ends up being c:\windows\temp or d:\windows\temp etc, you get the idea.

The command is:
winscp.com /command "option batch abort" "option confirm off" "open sftp://username:pass@host.com/ -hostkey=*" "put %TEMP%\results\*.*" "exit"

I get the error The system cannot find the path specified.

If I use a hardlink of "put c:\windows\temp\results\*.*" it works fine.

So that all said any idea how I work around this and get winscp to understand or work with an environmental variable? I really appreciate any help or tips anyone can give.

Thank you.