Differences

This shows you the differences between the selected revisions of the page.

faq_batch_file 2020-12-02 faq_batch_file 2023-01-16 (current)
Line 41: Line 41:
===== [[newline_escaping]] New-line Escaping ===== ===== [[newline_escaping]] New-line Escaping =====
-Many examples on this site (including the one above), as well as [[ui_generateurl#script|batch file template]] generated by WinSCP, use [[wp>Batch_file#Escaped_characters_in_strings|new-line escaping]] using the caret symbol ''^'' to allow wrapping a long command line to multiple lines for a better readability:+Many examples on this site (including the one above), as well as [[ui_generateurl#script|batch file template]] generated by WinSCP, use [[wp>Batch_file#Escaped_characters_in_strings|new-line escaping]] using the caret symbol ''^'' to allow wrapping a long command line to multiple lines for better readability:
<code batch> <code batch>
winscp.com /log=winscp.log /ini=nul /command ^ winscp.com /log=winscp.log /ini=nul /command ^
-    "open sftp://username:password@example.com/" ^+    "open sftp://user:password@example.com/" ^
    "get *" ^     "get *" ^
    "exit"     "exit"
Line 65: Line 65:
You need to double the percent sign to escape it. You need to double the percent sign to escape it.
-For example in the following batch file, the username ''username@domain'' contains the ''@'' sign. As the ''@'' sign has a special meaning in the session URL, it needs to be encoded to ''%40''. But as ''%'' sign has a special meaning in the batch file, it needs to be escaped as ''<nowiki>%%</nowiki>'', resulting in final ''<nowiki>%%40</nowiki>''.+For example in the following batch file, the username ''user@domain'' contains the ''@'' sign. As the ''@'' sign has a special meaning in the session URL, it needs to be encoded to ''%40''. But as ''%'' sign has a special meaning in the batch file, it needs to be escaped as ''<nowiki>%%</nowiki>'', resulting in final ''<nowiki>%%40</nowiki>''.
<code batch> <code batch>
winscp.com /log=winscp.log /ini=nul /command ^ winscp.com /log=winscp.log /ini=nul /command ^
-    "open sftp://username%%40domain:password@example.com/" ^+    "open sftp://user%%40domain:password@example.com/" ^
    "get *" ^     "get *" ^
    "exit"     "exit"
</code> </code>
 +
 +You can avoid the problem by specifying the credentials using the [[scriptcommand_open#username|''-username'']] and [[scriptcommand_open#password|''-password'']] switches:
 +
 +<code batch>
 +winscp.com /log=winscp.log /ini=nul /command ^
 +    "open sftp://example.com/ -username=user@domain -password=password" ^
 +    "get *" ^
 +    "exit"
 +</code>
 +

Last modified: by martin