批量脚本:SCP下载文件后获取完整文件名供Python脚本调用
解决方法
- 执行SCP下载后,通过
for命令捕获匹配的文件名并赋值给变量,再传递给Python脚本,完整bat脚本示例:@echo off rem 从远程机器下载文件 scp user@192.168.1.X:"C:\Users\user\Downloads\filename*" ./ rem 将匹配的文件名赋值给变量 for %%f in (filename*) do set "DOWNLOADED_FILE=%%f" rem 调用Python脚本并传入完整文件名 pythonscript.py "%DOWNLOADED_FILE%" - 注意事项:
- 上述代码会将当前目录下第一个匹配
filename*的文件赋值给变量,若存在多个匹配文件,只会处理第一个;如果需要批量处理,可在for循环内直接调用Python脚本:@echo off scp user@192.168.1.X:"C:\Users\user\Downloads\filename*" ./ for %%f in (filename*) do ( pythonscript.py "%%f" ) - 可以增加下载失败的判断逻辑,避免后续命令无效执行:
@echo off scp user@192.168.1.X:"C:\Users\user\Downloads\filename*" ./ if %errorlevel% equ 0 ( for %%f in (filename*) do pythonscript.py "%%f" ) else ( echo SCP文件下载失败 pause exit /b 1 )
- 上述代码会将当前目录下第一个匹配
内容的提问来源于stack exchange,提问作者LilStutter
相关产品推荐
相关产品推荐

