batch-file - 批处理脚本 - findstr 用结果覆盖 csv 文件
问题描述
我正在使用批处理脚本。
我想在我的 sss_output.csv 文件中过滤掉包含特定字符串的行,并用结果覆盖同一个文件。
下面,我有以下代码:
@echo
cd C:\apache-jmeter-3.2\bin
jmeter.bat -n -t C:\apache-jmeter-3.2\bin\SessionManagement.jmx -l C:\apache-jmeter-3.2\bin\sss_output.csv
findstr /c:"WebDriver Sampler" sss_output.csv > sss_output.csv
运行执行此脚本后,jmeter.bat 语句将被执行并获得预期结果。但是,第二行未能过滤掉包含字符串“WebDriver Sampler”的行。
如果我在命令提示符下分别运行 jmeter.bat 和 findstr 行,它工作正常。我究竟做错了什么?
解决方案
重定向是在命令执行之前sss_output.csv
处理的,所以在开始之前就被清空了findstr
。
将输出写入临时文件,然后将其移动到目标文件中:
findstr /C:"WebDriver Sampler" > "%TEMP%\sss_output.tmp"
move /Y "%TEMP%\sss_output.tmp" "sss_output.csv" > nul
推荐阅读
- node.js - 在 nginx 中使用 node js 应用程序部署 laravel 应用程序
- cplex - 比较两个 IloNum 值时出现问题
- snowflake-cloud-data-platform - 使用 Snowflake 中的分区获取 Datediff 函数的平均值
- sql - Oracle 12c 在没有默认值的情况下向表添加列需要很长时间
- c++ - 在文件中写入时传递值:C++
- express - ExpressJS - res.status(500) 返回未定义,所以我不能调用它发送
- c# - 将字符串转换为有效的 XML
- swift - 不能将不可变值作为 [Character] 参数 swift 类型的 inout 值传递
- java - 这个括号组合的时间复杂度是多少?
- wordpress - EC2重启后AWS word press网站缺少内容