0

我有一些使用 Putty 的 pscp.exe 文件登录 Unix 服务器的 VBA 代码。我正在使用 Windows 7。

问题是用户名包含@ 字符。如果我使用以下 VBA 代码,我将无法登录。

那么,我应该如何更换Username = "user@example.xxx"才能登录?

Dim Host As String
Host = "grid1.example.xxx"

Dim Username As String
Username = "user@example.xxx"

Dim Password As String
Password = "Password2012"

Dim Command As String
Command = "pscp.exe -sftp -l " & Username & " -pw " & Password

Shell Command, vbNormalFocus
4

2 回答 2

0

为我工作如下:

Dim Host
Host = "grid1.example.xxx"

Dim Username
Username = "username@host"

Dim Password
Password = "Password"

Dim Command
Command = "pscp.exe -l " & Username & " -pw " & Password & " cmd.txt username@host:cmd.txt"

Set oShell = CreateObject ("WScript.Shell") 
oShell.run "cmd /k " & Command
于 2017-03-17T00:17:06.060 回答
0

抱歉,不知道如何在评论部分正确格式化,所以在这里发布。尝试在 .bat 文件中运行它。

但是,我确实认为,用户名不应包含主机名,而应在目标 %Hostname% 中连接。

@echo off

set Username="username@hostname"
set Password=Password
set Hostname=hostname

rem or maybe like this
rem set Username=username
rem set Hostname=username@hostname

pscp32.exe -sftp -l %Username% -pw %Password% cmd.txt %Hostname%:cmd.txt

if errorlevel 2 goto Err2
if errorlevel 1 goto Err1

echo success!
goto :EOF

:Err2
echo error 2
goto :EOF


:Err1
echo error 1
goto :EOF
于 2017-03-17T00:37:45.567 回答