Board logo

标题: [文本处理] bat分割生成新文本,有特殊符号? [打印本页]

作者: idc878787    时间: 2022-5-25 18:23     标题: bat分割生成新文本,有特殊符号?

本帖最后由 idc878787 于 2022-5-25 18:25 编辑

例如文本1.txt  利用批处理

http://www.20190.net----𝩱🴤
http://www.748346.com----𝗦𞳏񍴞


分割第一行---- 这个符号 生成文本  2.txt   

𝩱🴤


因为有特殊符号&# 自己搞不定
作者: flashercs    时间: 2022-5-25 19:20

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. cd /d "%~dp0"
  4. for /f "tokens=1* delims=-" %%A in (1.txt) do (
  5.   echo %%A %%B
  6.   set s2=%%B
  7.   set "s2=!s2:&=^&!"
  8.   echo !s2! == %%B
  9.   echo.
  10. )
  11. endlocal
  12. pause
  13. exit /b
复制代码

作者: Batcher    时间: 2022-5-25 19:21

回复 1# idc878787


请参考Q-04和Q-05把bat文件和txt文件都保存为ANSI编码:
https://mp.weixin.qq.com/s/Koje4FufWxWBs7ioDy_LJA
  1. @echo off
  2. cd /d "%~dp0"
  3. (for /f "tokens=2 delims=-" %%i in ('type "1.txt"') do (
  4.     echo,%%i
  5. ))>"2.txt"
复制代码

作者: idc878787    时间: 2022-5-25 19:27

回复 3# Batcher


    2.txt  只要保存  第一行的   后面的内容?
作者: idc878787    时间: 2022-5-25 19:27

回复 3# Batcher


    2.txt  只要保存  第一行的   后面的内容?
作者: idc878787    时间: 2022-5-25 20:32

  咋整
作者: idc878787    时间: 2022-5-25 20:32

  咋整
作者: flashercs    时间: 2022-5-25 20:40

  1. @echo off
  2. cd /d "%~dp0"
  3. (for /f "tokens=2 delims=-" %%i in ('type "1.txt"') do (
  4.     echo,%%i
  5.     goto next
  6. ))>"2.txt"
  7. :next
复制代码

作者: idc878787    时间: 2022-5-25 20:49

回复 8# flashercs


    谢谢
作者: Batcher    时间: 2022-5-25 21:48

回复 5# idc878787
  1. @echo off
  2. cd /d "%~dp0"
  3. (for /f "tokens=2 delims=-" %%i in ('type "1.txt"') do (
  4.     echo,%%i
  5.     goto :eof
  6. ))>"2.txt"
复制代码

作者: qixiaobin0715    时间: 2022-5-26 08:21

本帖最后由 qixiaobin0715 于 2022-5-26 10:10 编辑
  1. set /p var=<1.txt
  2. for /f "tokens=2 delims=-" %%a in ("%var%") do echo,%%a>2.txt
复制代码
或者
  1. set /p var=<1.txt
  2. set "var=%var:*----=%"
  3. for %%a in ("%var%") do echo,%%~a>2.txt
复制代码

作者: idc878787    时间: 2022-6-6 17:21

回复 11# qixiaobin0715


文本如果
http://www.20-190.net----&#121457;&#130340;
http://www.748-346.com----&#120294;&#126159;&#318750;

前面含有-   分割就错误了     生成的新文本怎么默认是ansi ??
含有特殊符号就运行不了

set /p var=<1.txt
for /f "tokens=2 delims=-" %%a in ("%var%") do echo,%%a>2.txt




含有特殊符号就运行不了   例如 * ?  生成的新文本怎么默认是ansi ??
set /p var=<1.txt
set "var=%var:*----=%"
for %%a in ("%var%") do echo,%%~a>2.txt
作者: idc878787    时间: 2022-6-6 18:52

本帖最后由 idc878787 于 2022-6-6 19:08 编辑

如果含有  !^*?"   类似符合  数据就会出错  我晕




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2