[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 如何替换文本中特定字符串/内容中的部分字符

本帖最后由 pcl_test 于 2017-10-13 09:55 编辑

有1.nsi文件如下
  1. !define Version "7.5.4.79"
  2. !define Build "2017.09.19"
  3. !define Branch "R1.4"
  4. !define SvnVersion "20557"
  5. ;输出路径
  6. OutFile "H:\ShareFiles\package\I7\${Branch}\${Build} V${Version}\AVCON - Meeting_${Version}(auto)(Build_${SvnVersion}).exe"
  7. InstallDirRegKey HKLM "SOFTWARE\AVCONi7-Meeting" "Path"
  8. RequestExecutionLevel admin
复制代码
需要把!define Version "7.5.4.79"替换成!define Version "7.8.5.123"
需要把!define Build "2017.09.19"替换成!define Build "2017.10.10"文本中所有内容均要保留,包括中文注释

没有修改到啊,一点变化没有呢。输出文件的文本都没生成
  1. @echo off
  2. @cd /d %~dp0
  3. setlocal enabledelayedexpansion
  4. Set Inputfile=H:\i7standard\I7_R1.4\package\00 BIN_Meeting_R1.4\I7-Meeting Setup - auto - R1.4.nsi
  5. Set Outputfile=H:\i7standard\I7_R1.4\package\00 BIN_Meeting_R1.4\2.nsi
  6. for %%i in (
  7. "1"
  8. "2"
  9. ) do (
  10. Set /a K+=1
  11. SEt Tuh!k!=%%~i
  12. )
  13. for %%i in (
  14. "!define Version "7.8.5.123"
  15. "!define Build "2017.10.10"
  16. ) do (
  17. Set /a Tush+=1
  18. Call :SetText !Tush!
  19. (
  20. For %%i in (%Inputfile%) do (
  21. for /f "Delims=" %%a in (%%~fi) do (
  22. Set /a Line+=1
  23. if defined Text_!Line! {
  24. echo;Text_!Line!
  25. ) else (
  26. echo;%%i
  27. )
  28. )
  29. )
  30. )>%Outputfile%
  31. :SetText
  32. Set "Text_!Tuh%~1!=%%i"
  33. Goto :Eof
复制代码
回复 3# bbaa

TOP

返回列表