获取回显输出并将反斜杠替换为正斜杠

获取回显输出并将反斜杠替换为正斜杠

我有一段可以运行的批处理脚本代码:

echo %tmpfile%
for /R %1 %%G in (*.go) DO (
    echo %%G | findstr /i "test mock" || (
        rem filter out "test" files
        gocyclo "%%G" >> %tmpfile%
    )
)

,但有一个问题:

它输出的是单个反斜杠!更糟糕的是,循环中调用的程序没有选项可以使用正斜杠代替反斜杠!

代码像这样输出到文件:

2 utilities ValArrToPointerArr C:\Users\mwarren\Desktop\apiserver_sdk\utilities\utilities.go:178:1

有没有办法从脚本方面让循环中调用的程序的输出输出正斜杠而不是反斜杠?

答案1

有没有办法输出正斜杠而不是反斜杠

是的,使用变量编辑/替换

使用以下代码:

@echo off
setlocal enabledelayedexpansion
echo %tmpfile%
for /R %1 %%G in (*.go) DO (
  echo %%G | findstr /i "test mock" || (
    rem filter out "test" files
    gocyclo "%%G" >> output.txt
    rem replace \ with /
    for /f "tokens=*" %%i in ('type output.txt') do (
      set line=%%i
      set newline=!line:\=/!
      echo !newline!>>%tmpfile%
      )
   del /q output
   )
)
endlocal

进一步阅读

相关内容