在每个子文件夹中将2个文本文件合并到一个文件夹中,并将它们保存在与日期和文件csv文件相同的文件夹中。

时间:2018-08-31 09:42:01

标签: file batch-file batch-rename

我想将每个Folder 2现有txt文件合并到一个文件夹中,并与.csv保存在同一文件夹中。新文件的名称必须为日期和时间。

for /r C:\Users\Juan\Desktop\Konturograph\ %%G in (*.txt) do (
xcopy "%%G" "G%% %date% %time:~0,2%-%time:~3,2%-%time:~6,2%".csv
echo %%G
)
pause

我正在尝试使用此方法,但是只创建了2个.cvs。我不知道Batch的想法,我认为我离我的目标还很远,您能帮我吗?

非常感谢您。

格吕斯 胡安

1 个答案:

答案 0 :(得分:0)

没有G%%这样的令牌。如果要将文件从扩展名.txt复制到.csv,请使用%%~nG作为文件名,扩展名除外。

@echo off
for /r "C:\Users\Juan\Desktop\Konturograph\" %%G in (*.txt) do (
    xcopy "%%G" "%%~nG %date% %time:~0,2%-%time:~3,2%-%time:~6,2%.csv"
    echo "%%G"
)
pause

但是,看到您要合并文件,将无法正常工作。尝试类似的东西:

@echo off
for /r "C:\Users\Juan\Desktop\Konturograph\" %%G in (*.txt) do (
    type %%G >> OUTPUT.csv
    echo "%%G"
)
pause

由于每次循环中时间都会改变,因此您将无法在时间戳中使用时间,这会更改文件名。