需要帮助编写批处理文件以将文件名操作为csv格式

时间:2016-12-09 15:51:24

标签: csv batch-file

目前我在一个目录(没有子文件夹)中有大量(大约10000)个图像,我需要在csv文件中编目。图像文件名的布局如下:

p000001_06.jpg
p000001_05.jpg
p000001_04.jpg
p000001_03.jpg
p000001_02.jpg
p000001_01.jpg
f000005_11.jpg
f000004_11.jpg
f000003_11.jpg
f000002_11.jpg
f000001_01.jpg

以第一张图片为例,我需要将其改为以下5列格式:

p000001_06.jpg,p000001_06,p,000001,06

我已将前两列的脚本放在一起(见下文):

(for %%F in (*) do @echo "%%~nxF",%%~nF) >imageExport.csv

然而,我一直在努力试图让其余部分正确。我很确定它与分隔符和令牌有关,而且我一直在修补和修补,但我只是没有得到它。非常感谢帮助,因为这不是我的专业领域。我还需要弄清楚如何添加列标题,但如果这让人感到困惑,那就不是紧迫了。非常感谢

1 个答案:

答案 0 :(得分:2)

分隔符和标记在这里没有帮助。但由于您的文件都具有通用格式(Xnnnnnn_nn.XXX),因此您可以使用简单的字符串替换。添加标题也很简单:

@echo off
setlocal enabledelayedexpansion

REM create header:
echo filename,name,letter,number,whatever>imageExport.csv

(for %%F in (*.jpg) do (
  set name=%%~nF
  echo %%~nxF,%%~nF,!name:~0,1!,!name:~1,6!,!name:~8,2!
)) >>imageExport.csv
相关问题