This is an old revision of the document!
How do I configure session, transfer and/or any other settings for which there are no script commands?
Generally the solution is to configure the settings in GUI. Script will in the most cases use the preconfigured settings as default one. For session settings, in the latest beta release, preferred solution is to use /rawsettings
switch.
If you want to make your configuration portable, you can save it into an INI file and distribute the INI file with your script.
If the value of the option is not static you can generate the INI file before running the script. See examples below.
Advertisement
You may want to set the INI file read-only, to prevent WinSCP writing to it, when exiting.
Session Settings
For session settings, you can use /rawsettings
switch (This feature is available only in the latest beta release.) or pre-configure a stored session with all your settings from GUI and open that stored session using open
command.
Using /rawsettings Switch
This feature is available only in the latest beta release.
For example to open session with enabled HTTP proxy use following command:
open <session_url> /rawsettings ProxyMethod=3 ProxyHost=proxy ProxyPort=8080
To find connect syntax for particular settings, configure the setting in the GUI, store it into a stored session, save configuration to an INI file and use the same syntax as in an INI file. See the next section for example.
Using Stored Session
For example to enable HTTP proxy use following INI file:
[Sessions\mysession] HostName=example.com UserName=customer ProxyMethod=3 ProxyHost=proxy ProxyPort=8080
Advertisement
Then, providing the INI file is found and loaded by the WinSCP process running the script, you can use command “open mysession” to open the pre-configured session.
You can even make a batch file that generates the INI file dynamically based on current context. For example to use value of environmental variable as proxy host name use following batch file:
echo [Sessions\mysession] > server.ini ... echo ProxyHost=%PROXYHOST% >> server.ini ... winscp /console /script=example.txt /ini=server.ini del server.ini
Transfer Settings
For transfer setting, you can pre-configure your preferred settings as default transfer settings. The script uses the default transfer settings as initial.
For example, to configure changing case of filenames to lowercase during transfer, use following INI file:
[Configuration\Interface\CopyParam] FileNameCase=2
Other Settings
The same applies to most other settings, such as configuring reconnect interval:
[Configuration\Interface] SessionReopenAuto=10000