我想使用 Windows 10 命令提示符打开名称在特定范围内的文件。我想打开的文件的名称如下AF87314.corr.fits
(某些文件可能有 .corr.fits.discarded 扩展名),例如,假设我想打开从AF87314
到 的文件AF87320
。在 Linux(Ubuntu)上,我可以使用
ds9 AF873{14..20}.corr.fits
(ds9 是我用来打开这些图像的程序)。在 Windows 上我无法打开。有办法解决我的问题吗?
提前感谢大家。
编辑:感谢 Ian C. 提供了一个可能的解决方案,但这不是我想要的解决方案,因为每个图像都在程序的新窗口中打开。我需要一次将所有文件名传递给命令,这样每次只打开一个窗口,我就可以同时处理所有图像。
EDIT2:也感谢 LPChip,但有些东西无法按照您的建议工作。例如,使用ds9 AF873{30..35}.corr.fits
该程序时会给出错误,提示[full-path-to-file]/AF873
无法打开文件(请注意,文件名的后半部分缺失)。但是我在正确的文件夹中,我可以用 打开任何文件ds9 AF87330.corr.fits
。
EDIT3:我想我找到了一个可能的解决方案,那就是使用findstr
。稍后,当我回到家时,我会对其进行更多测试,因为它使用正则表达式,而我对此不熟悉。
答案1
您可以使用FOR 循环。
FOR /l %K in (14,1,20) DO DS9.EXE AF873%K.corr.fits
注意事项
- %K 是随每个文件而变化的变量号。
- 因为 /l 是一个计数器,所以它只对数字有效,对其他字符无效。
- 为了简单起见,我省略了对文件路径的任何引用。
- /l 不使用前导零。如果我们以您的示例为例,并希望从 08 而不是 14 开始
- 你不能使用
in (8,1,20)
,结果将是AF8738
,AF8739
,AF87310
,AF87311
,...
- 你必须使用
in (308,1,20) ... AF87%K.corr.fits
- 你不能使用