You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求协助创建以管理员身份执行指定psftp命令的批处理文件

没问题,我来帮你搞定这个批处理文件的需求。下面是具体的实现方案,包含自动提权和命令执行的完整代码:

完整批处理代码
@echo off
:: 检查是否以管理员身份运行,不是则自动提权
fltmc >nul 2>&1 || (
    echo 正在请求管理员权限...
    powershell -Command "Start-Process cmd -ArgumentList '/c ""%~f0""' -Verb RunAs"
    exit /b
)

:: 切换到Putty安装目录(支持跨驱动器切换)
cd /d "C:\Program Files\Putty"

:: 执行psftp上传命令
psftp -i XXXXXXXXX.ppk xxxx_test@111.111.111.11 -b C:\UPLOAD\upload.ftp

:: 可选:执行完成后保持窗口打开,方便查看结果
pause
代码细节解释
  • 自动提权逻辑:开头用fltmc命令(仅管理员可执行)检测权限,如果当前不是管理员,会通过PowerShell重新以管理员身份启动这个批处理,不用你手动右键选「以管理员身份运行」。
  • 目录切换:cd /d里的/d参数是为了确保即使当前不在C盘,也能正确切换到Putty目录;路径加引号是因为包含空格,避免命令解析出错。
  • psftp命令修正:你原来的命令里cd后面的>是多余的,直接切换目录后执行psftp即可,这里已经帮你修正了这个小问题。
  • pause命令:这是可选的,加上它能让窗口执行完后不立刻关闭,方便你查看执行日志或报错信息,不需要的话可以直接删掉。
注意事项
  • 确认C:\Program Files\Putty目录下确实存在psftp.exe,如果你的Putty安装在其他路径,记得修改这个目录地址。
  • 如果私钥文件XXXXXXXXXX.ppk不在Putty目录里,最好写完整的绝对路径(比如C:\MyKeys\XXXXXXXXXX.ppk),避免psftp找不到密钥。
  • 确保C:\UPLOAD\upload.ftp这个批处理脚本文件存在,并且路径完全正确,否则psftp会报错找不到执行脚本。

内容的提问来源于stack exchange,提问作者danny

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:16:27