[英]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.