如何从逗号分隔的.txt文件中提取特定数据并将其应用于要在命令行开关中使用的变量

时间:2017-04-27 23:08:05

标签: batch-file cmd

我有相同文件结构的子文件夹的变化。每个文件夹中的一个文件是包含逗号分隔信息的metadata.txt文件。我需要拉出第8个值并将其设置为变量%x,然后在后续命令中将该变量用作开关。

metadata.txt文件如下所示:

91,Chocolate,10,Large,Easy Bake Oven,350,0,39.9475,Cake,1.0.0.1,C:\CakeRecords,2044449,2(10-50),1,

步骤1:为数据中的第8个值分配可变量x(%x)。在这种情况下,它是39.9475

步骤2:使用变量作为开关运行EasyBake命令 示例:EasyBake.exe 39.9475

我将在根文件夹中运行此命令一次,让它通过每个子文件夹在每个子文件夹中运行命令。我已经运行了一个命令来创建一个新文件夹' NewRecipe'在每个子文件夹中,所以我对如何在文件夹之间跳转以运行脚本有一个不错的想法,但任何建议也将在那里受到赞赏。

FOR /d %A IN ("N:\old recipes\*") DO mkdir "%A\NewRecipe"

1 个答案:

答案 0 :(得分:0)

@ECHO OFF
SETLOCAL
SET "sourcedir=U:\sourcedir"
SET "filename1=%sourcedir%\metadata.txt"
FOR /f "delims=" %%a IN (
 'dir /b /s /a-d "%filename1%" '
 ) DO (
 FOR /f "usebackqtokens=8delims=," %%t IN ("%%a") DO (
 ECHO take your choice
 ECHO PUSHD "%%~dpa"
 ECHO MD newrecipe
 ECHO easybake.exe %%t
 ECHO POPD 
 ECHO ================
 )
)

GOTO :EOF

只需显示所需说明。

找到每个目标文件,获取%%t的相应字段,然后使用%%a

的相应元素执行相应操作