如何在命令行解释器和批处理文件中禁止文件扩展名?

时间:2010-08-07 03:32:04

标签: unix shell dos informix batch-file

示例:我有一个文件:FILENAME.EXT,并且想要在没有.EXT的情况下提取FILENAME 我希望能够为一个只接受没有扩展名的文件名的命令使用无扩展名文件名。我有一个名为BCHECK的实用程序,它接受一个没有扩展名的文件名作为参数。使用BCHECK *。不起作用,因为所有文件都有.DAT或.IDX扩展名。这些文件不断被重命名,因此我需要为BCHECK提供新的文件名,而无需手动输入。

2 个答案:

答案 0 :(得分:2)

Unix的命令是basename

答案 1 :(得分:1)

对于DOS批处理文件,您可以查看参数here。例如,以下命令显示0参数的不带扩展名的文件名,该参数是批处理文件的名称。

echo %~n0

更新:
这是一个可以添加到批处理文件的示例。

FOR %%f IN (*.dat) DO bcheck -y %%~nf

此命令将为当前目录中扩展名为bcheck -y BASENAME的每个文件运行.dat。该命令是包含参数%%f的for循环。 %%f参数包含文件的全名。对于匹配*.dat的每个文件,它将在DO关键字后运行命令。 %%~nf表示要使用参数(~n)中的基名(%%f)。