创建批处理文件以重命名副本然后删除文件

问题描述 投票:0回答:1

到目前为止,这个论坛非常有帮助,但我正在努力解决这个问题。请温柔一点,我是菜鸟。

我创建了一个 .BAT 文件,将所有文件从一个目录复制到几个不同的目录。这只是成功的一半,不知道接下来该去哪里。

我想在使用其中的特定文本(.CAM 文件)复制所有这些文件之前重命名它们。我所追求的文本总是以“W2”开头并以“504”结尾,中间的数字总是在变化(它们不是连续的,而是完全随机的),因此我陷入了困境。我还应该提到,在记事本中打开时,文本始终位于第 5 行(不确定这是否有帮助),但并不是该行的唯一内容。我附上了文件 2 内容的图片,以便给您一个想法pic。 所以基本上,当文件第一次生成时,其名称为 pc2_001.CAM 该文件内将是我希望将其重命名为的文本(例如 W26444-504)

一旦这些文件被重命名并复制到新目录,我希望删除原始文件。

这可能吗?

到目前为止的代码:

@回声关闭

复制 M:H1\Tipo\NT K:
复制 M:H1\Tipo\NT M:H1\Tipo

暂停

查看了发布的其他问题,但在找到我要找的内容时遇到了一些困难。

提前致谢:)

batch-file
1个回答
0
投票

使用

for
循环迭代源文件,使用另一个
for /f
循环提取新名称,使用新名称将其复制到两个目标并删除原始文件:

@echo off
pushd "M:\1101\Tipo\NT"
for %%f in (pc2_*.cam) do (
  for /f "tokens=2 delims=:" %%a in ('findstr /b "COM_NAM:" "%%f"') do (
    ECHO copy "%%f" "D:\est\%%a.cam"
    ECHO copy "%%f" "O:\ther\Dest\%%a.cam"
    ECHO del "%%f"
  )
)

确认其功能符合您的要求后,删除

ECHO
(故障保护)。并备份您的数据 - 以防万一。

© www.soinside.com 2019 - 2024. All rights reserved.