每个人。我知道可以使用其他平台更好地解决此问题,但是批处理文件现在就足够了。这是我目前拥有的:
@echo off
set Output="%USERPROFILE%\desktop"
echo NOTE: Do not use leading-zeros when entering month/day for study date and DOB
echo -----------------------------------------------------------------------------
set /p TestNum=Enter the test number:
set /p SeriesInstance=How many images are in this series?:
set /p StudyDate=Enter the date (ex 1-1-2018) of the study:
set /p StudyTime=Enter the time (ex 1448) of the study:
set /p AccessionNumber=Enter the accession number:
set /p ProcType=Enter the study type:
set /p PhysName=Enter the referring physician's name:
set /p StudyDesc=Enter a study description:
set /p PtName1=Enter the patient's first name:
set /p PtName2=Enter the patient's last name:
set /p PtID=Enter the patient's ID (Last 4 of SSN,year,month,day - NO COMMAS):
set /p PtDOB=Enter the patient's DOB (ex 1/1/1984):
set /p PtGender=Enter the patient's gender (M or F):
echo 0020000D %TestNum% >> %Output%\%PtID%.txt
echo 0020000E %SeriesInstance% >> %Output%\%PtID%.txt
echo 00080018 %SeriesInstance% >> %Output%\%PtID%.txt
echo 00080020 %StudyDate% >> %Output%\%PtID%.txt
echo 00080030 %StudyTime% >> %Output%\%PtID%.txt
echo 00080050 %AccessionNumber% >> %Output%\%PtID%.txt
echo 00080060 %ProcType% >> %Output%\%PtID%.txt
echo 00080090 %PhysName% >> %Output%\%PtID%.txt
echo 00081030 %StudyDesc% >> %Output%\%PtID%.txt
echo 00100010 %PtName2%,%PtName1% >> %Output%\%PtID%.txt
echo 00100020 %PtID% >> %Output%\%PtID%.txt
echo 00100030 %PtDOB% >> %Output%\%PtID%.txt
echo 00100040 %PtGender% >> %Output%\%PtID%.txt
echo.
echo File has been placed in %Output%
pause
我想做的是,如果为SeriesInstance输入一个大于1的数字,我希望批处理文件复制完全相同的文件,而文件之间的唯一区别是两者输出SeriesInstance的行增加1,直到达到SeriesInstance值。
对不起,如果我这么解释:-\
感谢您能提供的任何帮助!
答案 0 :(得分:2)
由于文件必须具有不同的名称,因此我假设您要在文件名后附加序列号,例如%Output%\%PtID%_X.txt
,其中X
是序列号。
在这种情况下,您可以简单地使用for
进行循环,例如:
for /l %%a in (1,1,%SeriesInstance%) do (
(
echo 0020000D %TestNum%
echo 0020000E %%a
echo 00080018 %%a
echo 00080020 %StudyDate%
rem rest of echo statements here
) >%Output%/%PtID%_%%a.txt
)
上面的代码段还具有最小化文件打开/追加操作并确保每行末尾没有空格的优点。