尝试删除 jenkins 管道中的文件时切换无效

Jes*_*dez 1 cmd batch-file jenkins

我有一个 jenkins 管道,它构建一个 C++ 解决方案,然后分析一些指标并将输出设置为一个临时的.csv 文件,这个文件被处理并发送到 final.csv 文件。但是在删除临时 .csv 文件的步骤中,我收到Invalid switch错误消息。由于我对批处理知之甚少,可能是一个错误,但我找不到错误是什么,因为在 CMD 上执行相同的命令工作正常

这是我的管道的步骤:

stage('Append to csv file') {
            steps {
                script{
                    bat """
                        echo( >> C:/Users/User/Desktop/Tool/temporary.csv
                        echo ---------------------------------------------------------------------------- >> C:/Users/User/Desktop/Tool/temporary.csv
                        echo %DATE% %TIME% >> C:/Users/User/Desktop/Tool/temporary.csv
                        C:/Users/User/Desktop/Tool/TopHeaders.exe D:/Project/outputTraceFile.etl >> C:/Users/User/Desktop/Tool/temporary.csv
                        find /v "Press" <C:/Users/User/Desktop/Tool/temporary.csv >> C:/Users/User/Desktop/CompilationTimes.csv
                        del C:/Users/User/Desktop/Tool/temporary.csv
                    """
                }    
            }
        }
Run Code Online (Sandbox Code Playgroud)

这是输出:

18:48:50  D:\Project>del C:/Users/User/Desktop/Tool/temporary.csv 
18:48:50  Invalid switch - "Users".
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?

jeb*_*jeb 5

DEL只接受Windows 风格的路径,使用反斜杠而不是正斜杠

你必须使用

del C:\Users\User\Desktop\Tool\temporary.csv
Run Code Online (Sandbox Code Playgroud)

顺便提一句。linux 风格更合理,因为反斜杠在许多语言中用作空格字符,而 windows 路径风格经常中断字符串。因此,您经常需要将反斜杠加倍

del C:\\Users\\User\\Desktop\\Tool\\temporary.csv
Run Code Online (Sandbox Code Playgroud)

有时甚至需要将反斜杠四倍