首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PSCP可以与PowerShell一起工作吗?

PSCP可以与PowerShell一起工作吗?
EN

Stack Overflow用户
提问于 2012-12-03 23:44:10
回答 4查看 12.6K关注 0票数 2

我有一个生成文本文件的PowerShell脚本。最后,我想把这个文件复制到Linux服务器上。从CMD.EXE,我可以使用PSCP (从Putty),它工作并复制文件。但是从PowerShell中,无论是交互的还是从PowerShell批处理中,PSCP都没有明显的效果:没有错误消息,文件也不会被复制。即使我不带参数地简单地运行.\PSCP.EXE,在CMD命令行上它也会显示选项,但是在PowerShell中它什么也不做。可以从PowerShell内部使用PSCP吗?

EN

回答 4

Stack Overflow用户

发布于 2012-12-04 00:07:17

从PowerShell中执行程序应该与CMD的工作方式相同,但这取决于该程序生成其输出的方式(它是否写入STDOUT、STDERR或其他?)这可能会有不同的表现。

我一直在.NET应用程序和PowerShell脚本中使用Rebex's components for FTPS & SFTP;SFTP包包含一个SCP类。是的,它是要花钱的,但根据你的使用情况,它可能是值得的。

票数 3
EN

Stack Overflow用户

发布于 2016-10-05 22:56:58

刚尝试从PowerShell自动执行PSCP。记住使用pscp的-batch参数,这样,如果您输入了错误的密码,系统就不会要求您输入。

代码语言:javascript
复制
$Cmd = "pscp -l username -pw password -batch c:\folder\file.txt server:/home/user1"
Invoke-Expression "& $( $Cmd )"

否则你的脚本就会陷入停顿。

票数 2
EN

Stack Overflow用户

发布于 2012-12-04 01:08:47

是的--几乎所有的可执行文件都可以从PowerShell调用。在这方面,pscp.exe没有任何特别之处。您可能需要在其前面加上调用运算符-与号- &

代码语言:javascript
复制
PS C:\>& "C:\Program Files (x86)\Putty\pscp.exe" -V
pscp: Release 0.62

上面是我的PowerShell提示符的直接输出。如果可执行文件的路径包含空格,则调用操作符特别有用-调用操作符用于告诉PowerShell将被视为字符串的内容视为应该尝试执行的内容。

请包含您正在尝试执行的完整命令,因为它有助于提供更好的答案。如果没有得到任何输出,您可能会遇到PATH变量或其他奇怪的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13686686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档