【问题标题】:Read all data from STDIN in a batch script在批处理脚本中从 STDIN 读取所有数据
【发布时间】:2017-12-04 08:10:43
【问题描述】:

我正在尝试在 windows 上编写一个 SVN 后锁定脚本。我想使用批处理脚本来调用 python 脚本并将 REPO、USER 和锁定文件的路径作为其参数传递。

.tmpl 文件中说 REPO 和 USER 都是预定义的参数,并且锁定的路径是通过 STDIN 传递的,所以我在我的 .bat 文件中尝试了这个:

@echo off
set REPOS=%1  
set USER=%2   
set /p files=

C:\Python27\python.exe C:\test.py %REPOS% %USER% %files%

如果我锁定一个文件,它工作正常。但是如果我用一个 svn lock 命令锁定多个文件,我只能用'set /p files='获得第一个路径。

如何使用批处理脚本获取锁定路径的完整列表?感谢您的帮助!

【问题讨论】:

  • set /P 读取单行文本,因此您需要安装一个循环来获取所有这些...
  • @aschipfl 有道理,我会试试的。谢谢!

标签: python batch-file io stdin


【解决方案1】:

Python 进程将继承其父进程的标准输入 (运行批处理脚本的外壳) 因此,只需将读取它的任务推迟到您的 Python 程序即可—— 它将是much easier to do

【讨论】:

  • 有效!我现在可以使用 sys.stdin 获得它。感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-11-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-02
相关资源
最近更新 更多