繁体   English   中英

创建/查找批处理脚本,该脚本在目录和子目录中执行“查找和替换”,适用于具有不同名称的 excel 文件

[英]Create/find batch script which performs a 'find and replace' within a directory and sub-directories, for excel files with varied names

我在单个目录下的不同层子文件夹中包含许多文件(Excel/CSV)。 许多文件包含一个带有公共文本字符串的单元格,所有这些都需要更新为新字符串。 这些文件都有不同的名称。 创建一个(最好是批处理)脚本来搜索给定文本字符串的整个目录(包括子目录),用新字符串替换所有实例,并将其他所有内容保留在原处,这有多困难。

我是脚本的新手,我一直在搜索该站点,但没有找到适合我的解决方案。 我想强调的是,由于安全措施,我无法下载、安装或运行第三方软件,因此像 FART 这样的应用程序已被淘汰。 有没有人能够提供和输入创建这样的东西,或者将我链接到这样一个已经存在的脚本? 提前致谢!!

使用纯批处理进行稳健的文本编辑既困难又缓慢。

除非您的管理技术人员禁用了 CSCRIPT,否则您可以使用我的JREPL.BAT - 混合 JScript/批处理文本处理实用程序。

无需下载或安装过程。 JREPL.BAT 是纯脚本,可​​以在 XP 以后的任何 Windows 机器上本地运行。 只需将脚本复制到本地机器上名为 JREPL.BAT 的新文件中即可。

拥有自己的副本后,您只需要从命令控制台运行以下命令即可:

for /r "c:\your\root\path" %F in (*.csv) do @jrepl "search string" "replace string" /L /F "%F" /O -

我使用 /L 开关将搜索视为文字。 您可能想要删除 /L 开关并改为执行正则表达式搜索。

如果将命令放在另一个脚本中,则需要将百分比加倍并使用 CALL JREPL。

@echo off
for /r "c:\your\root\path" %%F in (*.csv) do call jrepl "search string" "replace string" /L /F "%%F" /O -

从控制台提示符发出以下命令以获取完整文档:

jrepl /? | more

我用一个大的缓冲区高度配置了我的控制台窗口,这样我就可以向后滚动以查看先前的输出,因此我不需要| more | more的时候我帮忙看一下。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM