level 1
RT。请注意包含三个要求,一是用批处理命令;二是要处理当前文件夹及其所有子文件夹和它们里面的所有文件;三是替换特定字符,所以需要交互命令原有字符以及要替换的字符。谢谢。
2022年04月03日 09点04分
1
level 9
不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行
/*&cls&echo off&cd /d "%~dp0"&mode con lines=5000
rem 将当前目录下多个文件名称中的指定字符内容替换其他指定字符内容
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
set "oldword=需要替换的内容"
set "newword=替换后的新内容"
type "%~f0"|cscript -nologo -e:jscript "%~f0">"%tmp%\v.v"
dir /a-d-h/b/s|find /i /v "%~nx0"|cscript -nologo -e:vbscript "%tmp%\v.v" "%oldword%" "%newword%"
echo;%#% +%$%%$%/%_% %z%
pause
exit
*/
var text=WSH.StdIn.ReadAll();
var m=text.match(/\/\*\r\n([\s\S]+)\*\/\s*$/);
WSH.echo(m[1]);
/*
Set fso=CreateObject("Scripting.Filesystemobject")
oldword=WSH.Arguments(0)
newword=WSH.Arguments(1)
Do While WSH.StdIn.AtEndOfStream<>True
it=WSH.StdIn.ReadLine
Set file=fso.GetFile(it)
oldname=file.Name
newname=replace(oldname, oldword, newword, 1, -1, 1)
If newname <> oldname Then
WSH.StdErr.WriteLine it & " --> " & newname
End If
Loop
*/
2022年04月03日 13点04分
2