我正在使用以下代码替换我们从第三方供应商应用程序收到的源文件中的双引号。这是我们仍然支持的遗留应用程序。我们收到了许多文件,最近我们遇到了数据问题,并且很难弄清楚问题可能出在哪里。
replacequotes.ms
!text
!backup=no
#1. remove double-quotes at start of line
#2. remove double-quotes immediately preceded by a tab
#3. remove leading and trailing spaces
~1(^|\9)~1(' '*)('"'?)(' '*)
~1
!newpass
#1. remove double-quotes at end of line
#2. remove double-quotes immediately followed by a tab
#3. remove leading and trailing spaces
(' '*)('"'?)(' '*)~1(\9|$)~1
~1
!newpass
'""'
'"'
批处理文件
SET ENV=%1
SET FILENAME=%2
SET BIN=C:\Bin
SET FILE=C:\data\quote.txt
%BIN%\msub %BIN_DIR%\replacequotes.ms %FILE% 2>nul
IF ERRORLEVEL 1 GOTO EXITOK
EXIT
:EXITOK
EXIT 0
此代码使用 msub 应用程序并查找文件中的任何双引号并替换它们,例如“用户”-> 用户。当发生错误并且文件中的双引号没有被替换时,它会破坏试图处理这些文件的下游应用程序。如何添加更好的错误处理以抛出用户友好的错误。