我有一个文本文件,RECORDS
其中包含一个网站列表记录文件的地址列表physionet
:
Person_01/rec_1
Person_01/rec_2
.
.
.
Person_90/rec_1
Person_90/rec_2
我需要对文本文件的每一行执行以下命令:
wfdb2mat -r rec_1 -f 0 -t 20 > rec_1m.info
这wfdb2mat
是Windows已知的命令,用于将Windows中的.dat
数据结构转换为.mat
已知的结构MATLAB
。该命令执行的输出报告.info
与RECORDS
行存储在同一目录中。
我写了一个批处理文件(convert.bat)为:
@echo off
for /f %%a in (RECORDS) do (wfdb2mat -r %%~a -f 0 -t 20 > %%~am.info)
转换中列出的所有文件RECORDS
。但不幸的是,还有其他两个文件的命名.mat
和.hea
它们作为同一个目录存储convert.batch
,并命名为rec_Xm.mat
和rec_Xm.hea
,其中X是中列出的记录数RECORDS
。
因此,我需要在for循环中添加一个额外的命令,以将这些文件移动到位于的文件夹中RECORDS
。我的批处理文件已更改为:
@echo off
for /f %%a in (RECORDS) do (wfdb2mat -r %%~a -f 0 -t 20 > %%~am.info & move rec_*.* %%~a)
问题是,%%~a
文件夹名和文件名包含在一起,就像,Person1/rec_1
而我只需要将文件夹名移动到这些文件即可。
如何拆分这些字符串,以便可以在每次循环迭代中提取文件夹名称?
根据我的评论和我对您的命令应该做的假设
@Echo Off
For /F "Tokens=1-2 Delims=/" %%A In (RECORDS) Do (
wfdb2mat -r %%A/%%B -f 0 -t 20 >%%A/%%Bm.info
Move /Y %%B.* %%A)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句