【问题标题】:Batch to insert a number in an existing string of numbers批量在现有的数字字符串中插入一个数字
【发布时间】:2015-12-27 07:49:55
【问题描述】:

我需要写一个批处理在字符串“12345678910”的“5”后面插入数字“0”

任何帮助将不胜感激。如果可能的话,如果可以解释每一行和/或命令,这样我就可以理解脚本的工作原理,这将是非常有帮助的。

编辑

也许我在阅读这些其他文章时应该更具体一些。我需要脚本在文本文档内的字符串“12345678910”中的“5”之后插入数字“0”。换句话说,我需要在给定的文本文件中找到“12345678910”的任何实例,然后在每个实例的“5”之后添加一个“0”。所以我需要编辑一个现有的文本文档

【问题讨论】:

  • 请分享您到目前为止所尝试的...
  • 我们可以使用什么?重击?珀尔?啊? php?
  • 谢谢。我们正在创建一个要通过 CMD 运行的 .BAT 文件。我什么都没试过,因为我目前没有足够的信息来形成一个有说服力的脚本——我目前只是在研究。
  • This page 有很多有效的字符串操作示例。请编写一些代码并如果您有问题,请提出问题。不要让我们在没有自己尝试的情况下解决问题。

标签: batch-file text insert numbers document


【解决方案1】:

很简单。

(Read every line, 
  replace "12345678910" with "123450678910" 
  and write it out
) and put it in a new file

代码:

setlocal enabledelayedexpansion
(
  for /f "delims=" %%a in (MyFile.txt) do (
    set "line=%%a"
    echo !line:12345678910=123450678910!
  )
)>newfile.txt

参考:for /?,set /?

【讨论】:

  • 太酷了。非常感谢您的时间和精力!看,坚持论坛期望的问题是我没有脚本可以解决。我什至不知道从哪里开始。非常感谢您帮助我学习!
  • @ChristopherMoore 通常我倾向于不回答那些看起来像“为我做我的工作”的问题,但我知道,如果你不知道,做某事很难有一个好的开始,可以做什么。如果您是脚本新手,您应该考虑学习 powershell 而不是 cmd(或两者都作为最佳选择)。 Powershell 是一种强大的设计语言,其中 cmd 在过去 25 年中缓慢发展,重点是向后兼容性。有一些小事情,cmd 更好,但通常,powershell 具有更多更多功能。
【解决方案2】:

使用variable search/replace 或variable substring

示例:

set "var=12345678910"

rem :: example with search/replace
echo %var:5=50%
:: output: 123450678910

rem :: example with variable substring
echo %var:~0,5%0%var:~5%
:: output: 123450678910

【讨论】:

  • 感谢您的时间和精力。也许我在阅读这些其他文章时应该更具体一些。我需要脚本在文本文档内的字符串“12345678910”中的“5”之后插入数字“0”。换句话说,我需要在给定的文本文件中找到“12345678910”的任何实例,然后在每个实例的“5”之后添加一个“0”。所以我需要编辑一个现有的文本文档。
  • @ChristopherMoore:嗯,“在现有字符串中插入数字”与“编辑现有文本文档”之间存在巨大差异。如果您不知道这种差异,那么任何进一步的解释都没有意义...... :(
  • @Aacini 好吧,我为造成的混乱道歉。但是,我觉得我对巨大差异的无知将是进一步解释的完美理由。根据我的经验,当某人不知道某事并寻求学习时,通常需要进一步解释以使该人意识到并教导他们。对于我的脚本,我虚心地请求更多的耐心和帮助。非常感谢您抽出宝贵时间,再次为我的无知道歉。
猜你喜欢
  • 1970-01-01
  • 2022-01-08
  • 2023-04-05
  • 1970-01-01
  • 2015-09-13
  • 1970-01-01
  • 2011-08-02
  • 2014-12-30
  • 1970-01-01
相关资源
最近更新 更多