这个问题已经在stackoverflow上被问了很多,但我似乎无法使它工作.任何提示赞赏.这是一个包含需要删除的违规文本的文本文件(扩展名.mpl):
plotsetup('ps', 'plotoutput = "plotfile.eps"', 'plotoptions' = "color=rgb,landscape,noborder");
print(PLOT3D(MESH(Array(1..60, 1..60, 1..3, [[[.85840734641021,0.,-0.],
[HFloat(undefined),HFloat(undefined),HFloat(undefined)],[.857971665313419,.0917163905694189,-.16720239349226],
... more like that ...
[.858407346410207,-3.25992468340355e-015,5.96532373555817e-015]]], datatype = float[8], order = C_order)),SHADING(ZHUE),STYLE(PATCHNOGRID),TRANSPARENCY(.3),LIGHTMODEL(LIGHT_4),ORIENTATION(35.,135.),SCALING(CONSTRAINED),AXESSTYLE(NORMAL)));
Run Code Online (Sandbox Code Playgroud)
我想删除每个实例:
[HFloat(undefined),HFloat(undefined),HFloat(undefined)],
Run Code Online (Sandbox Code Playgroud)
并且有成千上万的这种情况!注意:要删除方括号和逗号.没有空间,所以我有以下页面和页面:
[HFloat(undefined),HFloat(undefined),HFloat(undefined)],
[HFloat(undefined),HFloat(undefined),HFloat(undefined)],
[HFloat(undefined),HFloat(undefined),HFloat(undefined)],
Run Code Online (Sandbox Code Playgroud)
我不会在这里列出所有失败的尝试.以下是我最接近的:
@echo off
SetLocal
cd /d %~dp0
if exist testCleaned.mpl del testCleaned.mpl
SetLocal EnableDelayedExpansion
Set OldString=[HFloat(undefined),HFloat(undefined),HFloat(undefined)],
Set NewString=
pause
FOR /F "tokens=* delims= " %%I IN (test.mpl) DO (
set str=%%I
set str=!str:OldString=NewString!
echo !str! >> testCleaned.mpl
endlocal
)
EndLocal
Run Code Online (Sandbox Code Playgroud)
以上是从网上找到的代码片段串起来的,特别是在stackoverflow,例如搜索和替换批处理文件的问题
它的作用是产生一个截断的文件,如下所示:
plotsetup('ps', 'plotoutput = "plotfile.eps"', 'plotoptions' = …Run Code Online (Sandbox Code Playgroud) 我有一个创建一个autosys作业来触发批处理文件,该文件将找到一个特定的字符串,然后替换接下来的4个字符.
例如,如果文件(有多行)低于内容,我正在搜索播放
疯狂的狐狸从老藤上跳下来,踢足球.
我应该用"INFA"取代"socc"
我是批处理文件的新手,我的主管一直坚持只使用批处理文件.任何帮助都会得到很大的帮助.
谢谢,乔伊