Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 替换文本文件中以字符开头并以另一个字符结尾的子字符串_String_Batch File - Fatal编程技术网

String 替换文本文件中以字符开头并以另一个字符结尾的子字符串

String 替换文本文件中以字符开头并以另一个字符结尾的子字符串,string,batch-file,String,Batch File,我是使用批处理脚本的新手,我遇到了以下问题: 我尝试替换文件中的特定字符串,以字符特定的@开头,以,结尾 这是我的代码,它只是从csv中提取一组数据: @echo关闭 D: cd试验 (对于/f“代币=6,13,14 delims=|”%%a(11_02_19_09.csv)do%%a、%%b、%c)>FROM_IMPORT.csv setlocal enabledelayedexpansion 在中设置=从_IMPORT.csv 放线=至_IMPORT.csv 对于/f“tokens=*”%%

我是使用批处理脚本的新手,我遇到了以下问题: 我尝试替换文件中的特定字符串,以字符特定的
@
开头,以
结尾

这是我的代码,它只是从csv中提取一组数据:

@echo关闭
D:
cd试验
(对于/f“代币=6,13,14 delims=|”%%a(11_02_19_09.csv)do%%a、%%b、%c)>FROM_IMPORT.csv
setlocal enabledelayedexpansion
在中设置=从_IMPORT.csv
放线=至_IMPORT.csv
对于/f“tokens=*”%%a in('type%in%')do(设置行=%%a>>%out%echo!行:=!)
输出是这样的一组行
RMT,15018@10.71,TEST
我搜索要做的是删除从
@
开始并以
结尾的字符串,


示例:如果有这样的
RMT,15018@10.71,TEST
我想得到这样的东西:
RMT,15018,TEST

试试这段代码,它在vbscript中使用正则表达式搜索模式并替换它

@echo关闭
使用正则表达式和vbscript替换标题字符串
设置“InputFile=in.csv”
设置“OutPutFile=out.csv”
调用:搜索\u替换“%InputFile%”“%OutPutFile%”
启动/最大记事本“%OutputFile%”并退出
::-----------------------------------------------------------------------------------
:搜索\u替换
(
echo WScript.StdOut.WriteLine搜索\u替换(数据^)
回波函数搜索\替换(数据^)
回声变暗模式、strReplace、strResult、oRegExp
echo Data=“%1”
echo Data=WScript.StdIn.ReadAll
echo strPattern=“\b@\S+?,\b”
echo strReplace=“,”
echo Set oRegExp=New RegExp
echo oRegExp.Global=True
echo oRegExp.IgnoreCase=True
echo oRegExp.Pattern=strPattern
echo strResult=oRegExp.Replace(数据,strReplace^)
echo Search_Replace=strResult
回波结束函数
)>%tmp%\%~n0.vbs
cscript//nologo“%tmp%\%~n0.vbs”<“%~1”>“%~2”
如果存在“%tmp%\%~n0.vbs”Del“%tmp%\%~n0.vbs”
退出/B
::----------------------------------------------------------------------------------

是的,这是可能的。谢谢,你知道怎么做吗?你尝试了什么,你被困在哪里了?请分享您的编码尝试!请注意,这不是一个教程网站,而是一个询问编程特定问题的地方。请乘坐,参观,在这里学习!谢谢,这是我的代码,它只是从csv:D:cd测试中提取一组数据(对于/f“tokens=6,13,14 delims=|“%%a in(11_02_19_09.csv)do%%a、%%b、%%c)>从_IMPORT.csv@echo off&setlocal enabledelayedexpansion set in=从_IMPORT.csv set out=到(/f“tokens=*”%%a in('type%in%)do(set line=%a>%a>%echo!line:)输出是一组类似于RMT的行,15018@10.71,测试我搜索要做的,是删除从@开始并以。我希望这能有所帮助,提前谢谢。请将您的问题发布到post code,不要对此发表评论!