You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JMeter中从OS Process Sampler获取重命名后的文件名?

解决JMeter中获取重命名后带时间戳文件名的问题

方法1:提前生成统一时间戳变量(最简单可靠)

在重命名操作前,先生成固定格式的时间戳变量,让重命名和上传操作复用这个变量,避免事后提取:

  • 添加User Defined Variables元件,新增变量timestamp,值设为 ${__time(ddMMyyyyHHmmssSS,)}(格式和你需要的2008202416202205对应)
  • 修改OS Process Sampler的PowerShell命令,直接用这个变量生成新文件名:
    Move-Item -Path "TestFile.docx" -Destination "目标路径\TestFile_${timestamp}.docx"
    
  • HTTP请求的文件参数直接用TestFile_${timestamp}.docx,和重命名的文件名完全一致

方法2:让PowerShell输出文件名,再用JMeter提取

如果必须在重命名时动态生成时间戳,修改PowerShell命令让它输出最终文件名,再用JMeter提取:

  • 修改OS Process Sampler的Command为powershell.exe,参数设置为:
    -Command "$old='TestFile.docx'; $new='TestFile_'+(Get-Date -Format 'ddMMyyyyHHmmssSS')+'.docx'; Move-Item -Path $old -Destination '目标路径\$new'; Write-Output $new"
    
  • 在OS Process Sampler后添加正则表达式提取器:
    • 引用名称:newFileName
    • 正则表达式:^(.*)$
    • 模板:$1$
    • 匹配数字:1
  • HTTP请求的文件参数使用${newFileName}即可

注意事项

  • 确保PowerShell命令里的文件路径、目标路径正确,路径含空格时用单引号包裹
  • OS Process Sampler要勾选Capture Output,这样才能捕获PowerShell的输出内容用于提取

内容的提问来源于stack exchange,提问作者Peter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 12:08:13