首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >删除字符的脚本

删除字符的脚本
EN

Stack Overflow用户
提问于 2013-05-02 22:45:15
回答 3查看 620关注 0票数 0

我有一个包含数千条记录的文件,每个字段都用引号括起来

代码语言:javascript
运行
复制
"First Name"|"Last Name"|"address"|"City"|"State"|"Zip"

如何在windows上编写批处理脚本来处理文件中的数千条记录?

每行都有一条记录,如下所示

代码语言:javascript
运行
复制
First Name|Last Name|address|City|State|Zip
EN

回答 3

Stack Overflow用户

发布于 2013-05-02 23:36:07

代码语言:javascript
运行
复制
@ECHO OFF
SETLOCAL enabledelayedexpansion
DEL outfile.txt 2>nul
FOR /f "delims=" %%i IN (pipedelims.txt) DO (
SET line=%%i
SET line=!line:"=!
>>outfile.txt ECHO(!line!
)

应该能帮你完成这项工作。

票数 1
EN

Stack Overflow用户

发布于 2013-05-03 00:57:38

比Peter的解决方案更稳定(也很好)。

它还可以处理带有感叹号、插入符号

这使用延迟扩展的切换,因为如果禁用延迟扩展,则set "line=%%i"仅对所有字符有效,但要删除引号,则必须启用延迟扩展。

以";“开头的行通常会被默认的EOL字符删除,因此我使用了一个有点棘手的构造来禁用EOL。

代码语言:javascript
运行
复制
@echo off
setlocal DisableDelayedExpansion
(
  FOR /f delims^=^ EOL^= %%i IN (pipedelims.txt) DO (
    SET "line=%%i"
    setlocal EnableDelayedExpansion
    SET "line=!line:"=!"
    ECHO(!line!
    endlocal
  )
) > outfile.txt 
票数 1
EN

Stack Overflow用户

发布于 2013-05-03 14:28:07

下载GnuSed是一个选项:

代码语言:javascript
运行
复制
@echo off
sed "s/\x22//g" "filein.txt" >"fileout.txt"

您也可以使用VBS脚本执行相同的操作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16341049

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档