到目前为止,这个论坛非常有帮助,但我正在努力解决这个问题。请温柔一点,我是菜鸟。
我创建了一个 .BAT 文件,将所有文件从一个目录复制到几个不同的目录。这只是成功的一半,不知道接下来该去哪里。
我想在使用其中的特定文本(.CAM 文件)复制所有这些文件之前重命名它们。我所追求的文本总是以“W2”开头并以“504”结尾,中间的数字总是在变化(它们不是连续的,而是完全随机的),因此我陷入了困境。我还应该提到,在记事本中打开时,文本始终位于第 5 行(不确定这是否有帮助),但并不是该行的唯一内容。我附上了文件 2 内容的图片,以便给您一个想法。 所以基本上,当文件第一次生成时,其名称为 pc2_001.CAM 该文件内将是我希望将其重命名为的文本(例如 W26444-504)
一旦这些文件被重命名并复制到新目录,我希望删除原始文件。
这可能吗?
到目前为止的代码:
@回声关闭
复制 M:H1\Tipo\NT K:
复制 M:H1\Tipo\NT M:H1\Tipo
暂停
查看了发布的其他问题,但在找到我要找的内容时遇到了一些困难。
提前致谢:)
使用
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
(故障保护)。并备份您的数据 - 以防万一。