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)
我在这里缺少什么?
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)
有时甚至需要将反斜杠四倍