我正在尝试通过批处理向.csproj文档(xml)添加两行。因为有这么多,所以自动化非常重要。
每个文件包含以下行(两次,需要两次添加):
<WarningLevel>4</WarningLevel>
之后需要添加以下行:
<CodeAnalysisRuleSet>..\..\Ruleset\Ruleset\RuleSet1.ruleset</CodeAnalysisRuleSet>
<RunCodeAnalysis>true</RunCodeAnalysis>
如何使用批处理文件完成此操作?
要点:
答案 0 :(得分:1)
@ECHO OFF
SETLOCAL
SET "sourcedir=."
FOR /f "delims=" %%a IN ('dir /b /a-d "%sourcedir%\*.csproj"') DO (
REM the following line deletes the "...new" file
DEL "%sourcedir%\%%~na.new" 2>nul
FOR /f "usebackqdelims=" %%b IN ("%sourcedir%\%%a") DO (
>>"%sourcedir%\%%~na.new" ECHO(%%b
ECHO("%%b"|FIND "<WarningLevel>4</WarningLevel>" >nul
IF NOT ERRORLEVEL 1 (
>>"%sourcedir%\%%~na.new" ECHO(^<CodeAnalysisRuleSet^>..\..\Ruleset\Ruleset\RuleSet1.ruleset^</CodeAnalysisRuleSet^>
>>"%sourcedir%\%%~na.new" ECHO(^<RunCodeAnalysis^>true^</RunCodeAnalysis^>
)
)
REM use the following line to compare the files
FC "%sourcedir%\%%~na.new" "%sourcedir%\%%a"
REM AFTER VERIFICATION, Remove the ECHO from the following line to rename the results
ECHO MOVE /y "%sourcedir%\%%~na.new" "%%a"
)
GOTO :EOF
这应该完成这项任务。您需要做的就是设置源目录 - 我使用当前目录进行测试。