在批处理脚本和管道方面,我缺少了一些东西
我想检查python是否安装了必要的库,如果没有,则会出错
使用此命令检查
python -m pip freeze -r ./requirements.txt | findstr "WARNING"
它本身输出的正是我所需要的
for /f "delims=" %%i in ('python -m pip freeze -r ./requirements.txt | findstr "WARNING"') do set output=%%i
还是一个文件
python -m pip freeze -r ./requirements.txt | findstr "WARNING" > tmpfile.txt
两个都是空的,我做错了什么
对于FOR/F,需要转义管道字符
据我所知,这里的问题是警告命令被输出到标准错误句柄,而不是标准错误句柄,因此for不会捕获输出
将其重定向到标准输出并将转义添加到|似乎可以解决问题
for /f "delims=" %%i in ('2^>^&1 python -m pip freeze -r ./requirements.txt ^| findstr WARNING') do set output=%%i
相关问题 更多 >
编程相关推荐