gpt4 book ai didi

windows - 使用批处理文件提取部分文件名

转载 作者:可可西里 更新时间:2023-11-01 09:48:54 25 4
gpt4 key购买 nike

我有一个循环,我会将所有 *.txt 文件复制到同一目录中的 big.txt。在每个循环步骤中,我想要不同文件夹中不同文件的额外副本,文件名中的前三个字符与第一个目录中的文件相同。

例子:

\A\001.txt
\A\003.txt
\A\005.txt
\A\big.txt
\B\001_sth.xml
\B\002_sth.xml - don't copy! no 002 in folder A
\B\003_sth.xml
\B\004_sth.xml - don't copy! no 004 in folder A
\B\005_sth.xml
\B\big.xml

在第 1 步中:将\A\001.txt 复制到\A\big.txt 并将\B\001_sth.xml 复制到\B\big.xml等等

我写的批处理文件只复制目录A中的文件,但我不知道如何找到目录B中的文件。

@echo off
if "%1"=="" goto error
for %%x in (%1\A\*.txt) do (
copy %%x %1\A\big.txt
echo %%x
echo ---
)

goto end
:error
echo give me a directory
:end

最佳答案

为什么不直接枚举 A 中的文件然后引用 B 中的文件呢?

for %%I in (%1\A\*.txt) do (
copy %1\B\%%~nI_sth.xml %1\B\big.xml
echo %%I
echo ---
)
goto :EOF

(顺便说一句,循环变量使用小写 x 是不明智的,因为 %%~sdfnx 都有特殊含义)

关于windows - 使用批处理文件提取部分文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8400728/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com