繁体   English   中英

从文件中获取值以在 Powershell/CMD 的命令中使用

[英]Get value from a file to use in command in Powershell/CMD

我希望能够在存储在文件中的 Powershell/CMD 参数中设置版本号。 所以假设我有一个很长的 powershell/cmd 命令,里面有这个参数py -m non_important_script --file-version={*get value from file*}

我如何获取存储在名为 version.py 的文件中的版本号,其中包含一行文本:

__version__ = "1.2.0"

基本上我不想每次都手动更新这个参数。 如果我总是可以将相同的命令粘贴到 Powershell/CMD 中并且它会自己输入版本号,那就太好了。

到目前为止,我已经尝试过这个py -m non_important_script --file-version=(Select-String -Path.\version.py -Pattern "\d.\d.\d").Matches.Groups[0].value ,但它不起作用,并从 non_important_script 中给出此错误:

FATAL:
Error, specify only one positional argument unless "--run" is specified to
pass them to the compiled program execution.

感谢Mofi在评论中提供CMD解决方案。

for /F "tokens=1* delims== " %I in (.\version.py) do if /I "%~I" == "__version__" py.exe -m non_important_script --file-version=%J

我设法找出一个 Powershell 解决方案,并从我已经提出的问题继续,希望有一些简单的方法可以让它工作,结果证明是有的。

您需要像这样创建一个变量,然后以分号结尾,以允许第二个命令序列使用该变量的值: $version = (Select-String -Path.\version.py -Pattern "\d.\d.\d").Matches.Groups[0].value; py -m non_important_script --file-version=$version $version = (Select-String -Path.\version.py -Pattern "\d.\d.\d").Matches.Groups[0].value; py -m non_important_script --file-version=$version

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM