【问题标题】:Close WinSCP window opened by a PowerShell script when finished完成后关闭由 PowerShell 脚本打开的 WinSCP 窗口
【发布时间】:2019-11-12 19:52:48
【问题描述】:

我编写了一个循环遍历文件夹并使用 WinSCP 转换文件的脚本

WinSCP.exe /keygen $filePath /output=$filePathdest

脚本可以运行,但会打开几个 WinSCP 窗口,说明它完成了哪些任务。我想抑制这一点或强制 PowerShell 在完成后关闭其所有子项。这可能吗?

【问题讨论】:

  • 在控制台(脚本)模式下使用参数/console 执行WinSCP 应该设置errorlevel(或在powershell 中$LastExitCode)而没有视觉反馈(窗口)。

标签: powershell winscp


【解决方案1】:

使用winscp.com instead of winscp.exe

winscp.com /keygen $filePath /output=$filePathdest

winscp.com 是一个控制台应用程序,具有与winscp.exe 相同的功能。作为一个控制台应用程序,它从 PowerShell 继承控制台并且不打开自己的控制台。完成后也不等待按键。

【讨论】:

  • 我在 Linux 中从来没有遇到过这个问题,只是说大声笑......我不能在脚本结束时等待 X 秒并调用脚本启动/拥有的所有内容吗?
  • 为什么?你为什么不按照我在回答中提出的建议去做?
  • 我不满足于脚本应该拥有最终控制权。这就是我在 Linux Shell 中的做法
  • 我不确定我是否遵循。问题是您从脚本中调用了 GUI 应用程序 (winscp.exe)。虽然您应该使用控制台/命令行应用程序 (winscp.com),但所有内容都保留在同一个控制台窗口中。
  • 好吧,您应该能够调用命令或其他任何内容并从脚本中终止它。我一直在 Linux 中这样做。
猜你喜欢
  • 2018-09-03
  • 2023-03-15
  • 1970-01-01
  • 2013-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多