我有一段可以运行的批处理脚本代码:
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