从文件交换文本的批处理命令

Posted

技术标签:

【中文标题】从文件交换文本的批处理命令【英文标题】:Batch commands to swap text from file 【发布时间】:2016-06-19 20:43:36 【问题描述】:

这是输入文件:-

你好,1-23456 你好吗,2-34567 . . .

我想要输出:-

1-23456,您好 2-34567,你好吗 . . .

请帮我为此创建一个批处理文件。

我试过了

@echo off &setlocal 设置“文本文件 = inputchq.csv” 设置“新文件=输出.txt” (对于 /f "tokens=1,2 delims=," %%i in (%textfile%) do set srno=%%a&set cmets=%%b ( 设置“行=%%i” setlocal enabledelayedexpansion 设置“行=%cmets%,%srno%” 回声(!线! 本地端 ))>>"%newfile%"

但我没有得到想要的输出

【问题讨论】:

你试过什么?请尝试解决您自己的问题,然后再在这里提问,并将您提出的问题添加到您的问题中。 我已经尝试过这个问题,请看看并帮助我 【参考方案1】:
@echo off &setlocal

set "textfile=inputchq.csv"
set "newfile=output.txt"

(for /f "tokens=1,2 delims=," %%a in (%textfile%) do (
    echo %%b,%%a"
))>>"%newfile%"

编辑以匹配评论中的其他要求:

您需要延迟扩展并转义特殊字符“|”

@echo off 
setlocal enabledelayedexpansion

set "textfile=inputchq.csv"
set "newfile=output.txt"

(for /f "tokens=1,2 delims=," %%a in (%textfile%) do (
    set "line=%%b,%%a"
    echo !line:^|=.!
))>>%newfile%

【讨论】:

在同一个解决方案中,我想替换所有“|”和 ”。”我在哪里可以添加这个循环。请帮忙。

以上是关于从文件交换文本的批处理命令的主要内容,如果未能解决你的问题,请参考以下文章

从文本文件中读取第一行的 Windows 批处理命令

文本基本处理工具

如何从批处理文件创建空文本文件?

实用命令与文本处理

linux文本处理常用命令

SQLPlus 批处理文件 - 如何返回到命令提示符?