Differences
This shows you the differences between the selected revisions of the page.
2024-01-19 | 2024-01-19 | ||
no summary (77.222.238.11) (hidden) (untrusted) | Restored revision 1684932816. Undoing revision 1705654714. (martin) (hidden) | ||
Line 40: | Line 40: | ||
The generated %%URL%%(s) is shown in the bottom box. When generating an %%URL%% for a site, only one %%URL%% is displayed. When generating an %%URL%% for a selected file(s), one %%URL%% per a file is displayed. | The generated %%URL%%(s) is shown in the bottom box. When generating an %%URL%% for a site, only one %%URL%% is displayed. When generating an %%URL%% for a selected file(s), one %%URL%% per a file is displayed. | ||
- | open sftp://H10262P1:T(_c309qQxCZS%)%2oa7@duravit-filestorage.sohorsys.fr:22 | + | ===== [[script]] Script Tab ===== |
+ | Use the //Script tab// to generate a [[scripting|WinSCP script]] template for the session or the file transfer. | ||
+ | |||
+ | &screenshotpict(generateurl_script) | ||
+ | |||
+ | The script will include: | ||
+ | |||
+ | * the ''[[scriptcommand_open|open]]'' command with the [[session_url|session URL]] and all other switches needed to configure the session. | ||
+ | * (//When generating a code for a session//) a placeholder text to be replaced with [[scripting#commands|commands]]. | ||
+ | * (//When generating a code for a file transfer//) the ''[[scriptcommand_cd|cd]]'' and ''[[scriptcommand_lcd|lcd]]'' commands to navigate to the source and destination folders of the transfer and the ''[[scriptcommand_put|put]]'' or ''[[scriptcommand_get|get]]'' commands to actually transfer the files (with all needed switches to setup any non-default [[ui_transfer_custom|transfer settings]]). | ||
+ | ····* If you had all files selected in the source panel, a code to upload all files from the source directory will be generated. | ||
+ | ····* If you had only some files selected in the source panel, a code to upload only the selected files (but three at most) will be generated. If file names contain any [[file_mask#basic|file mask special characters]], they will be escaped. | ||
+ | * the ''[[scriptcommand_exit|exit]]'' command to end the script. | ||
+ | |||
+ | Use the //Format// to select a format of the script to generate: | ||
+ | |||
+ | * //Script file// -- Generates a script file template that you execute using the ''[[commandline#scripting|/script]]'' command-line switch. | ||
+ | * //Batch file// -- Generates a Windows batch file (''.bat'') template that executes the ''[[executables|winscp.com]]'' with the above commands, specified using the ''[[commandline#scripting|/command]]'' command-line switch. Additionally the batch file enables [[logging|session logging]] using the ''[[commandline#logging|/log]]'' switch and [[scripting#configuration|isolates the script run from a GUI configuration]] using the ''[[commandline#configuration|/ini=nul]]'' switch. At the end, the batch file [[scripting#result|checks WinSCP exit code]] to choose further actions to take; and propagates the WinSCP exit code to a batch file exit code using the ''exit /b'' command. //Make sure you keep the exact format of the multi-line ''winscp.com'' command, as [[faq_batch_file|multi-line batch file commands are fragile]].// | ||
+ | * //Command-line// -- Generates a command-line for the ''[[executables|winscp.exe]]'' (but usable for ''winscp.com'' too) with the above commands, session logging and configuration isolation (see the previous point). The command-line is suitable for task managers of all kinds, like [[guide_schedule|Windows Scheduler]] or [[guide_ssis|SSIS]]. Depending on your requirements, you may want prepend the ''[[commandline#scripting|/console]]'' switch to make the script console visible, while the script is running. | ||
+ | * //PowerShell script// -- Generates a PowerShell script file (''.ps1'') template that executes the ''[[executables|winscp.com]]'' with the above commands, specified using the ''[[commandline#scripting|/command]]'' command-line switch. Additionally the script file enables [[logging|session logging]] using the ''[[commandline#logging|/log]]'' switch and [[scripting#configuration|isolates the script run from a GUI configuration]] using the ''[[commandline#configuration|/ini=nul]]'' switch. At the end, the script file [[scripting#result|checks WinSCP exit code]] to choose further actions to take; and propagates the WinSCP exit code to a script exit code using the [[ps>microsoft.powershell.core/about/about_language_keywords#exit|''exit'' keyword]]. The script additionally sets [[ps>microsoft.powershell.core/about/about_preference_variables#psnativecommandargumentpassing|''$PSNativeCommandArgumentPassing'']] to ''"Legacy"'', what is needed for PowerShell 7.3 and newer to be able to pass the arguments properly to WinSCP.((You may want to reset the ''$PSNativeCommandArgumentPassing'' back to default ''"Windows"'' value after running WinSCP.)) //Instead of running ''winscp.com'', consider [[library_powershell|*]].// | ||
+ | |||
+ | In the //Command-line// (and possibly also in the //Batch file//), you should modify a path to [[logging|a session log file]] in the ''[[commandline#logging|/log]]'' switch. | ||
+ | |||
+ | The script will not include options to [[scripting#hostkey|verify a host key or an untrusted certificate]], if the session was not opened before yet. Open the session at least once, before generating the script. | ||
+ | |||
+ | You can click on script commands and switches and command-line switches to open their respective help pages. | ||
===== [[code]] .NET Assembly Code Tab ===== | ===== [[code]] .NET Assembly Code Tab ===== |