运行批处理文件,忽略文件名中的变量

时间:2015-04-02 21:20:12

标签: batch-file cmd

我希望你能提供帮助,我试图运行一个名字非常长的批处理文件,我该如何设置它以便它只找到文件的一部分并运行它,例如,如果我的话文件名是111222333444555666-mycompuetrname.bat我可以使用什么命令,所以我可以放入批处理文件mycomputername.bat(我不能使用* .bat,因为在同一文件夹中还有其他较旧的批处理文件)

文件名的第一部分不是常量,它会改变,但我的计算机名始终保持不变。

所以基本上我需要一个批处理文件来运行另一个批处理文件,除了计算机名称部分之外,它每天都会更改其文件名。我需要它来忽略不断变化的文件名部分。

非常感谢任何帮助。

非常感谢

奥米德

2 个答案:

答案 0 :(得分:0)

假设,只有一个:

for %%i in (*mycomputername.bat) do %%i

如果还有更多,则会运行找到的第一个,但您可以使用do call %%i运行所有这些。

要运行最后几个,请使用dir进行相应排序:

for /f "tokens=*" %%i in ('dir /b /o-d *mycomputername.bat') do %%i

/o-d按日期排序 ,最新排名第一;要按文件名排序,请使用/o-n。有关详细信息,请参阅dir /?

答案 1 :(得分:-2)

如果您使用的是unix / linux,可以使用以下命令完成:

find . -name *mycompuetrname.sh | exec sh $0

如果必须在Windows上执行此操作,则必须找到与上述命令相同的内容。