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

Run a batch file ignoring the variables in the file name

我希望你能帮忙,我正在尝试 运行 一个名称很长的批处理文件,我如何设置它以便它只找到文件的一部分并且 运行 就是说,例如,如果我的文件名为 111222333444555666-mycompuetrname.bat 我可以使用什么命令,这样我就可以放入批处理文件 mycomputername.bat(我不能只使用 *.bat,因为还有其他同一文件夹中的旧批处理文件)

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

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

任何帮助将不胜感激。

非常感谢

奥米德

如果您在 unix/linux,可以通过以下方式完成:

find . -name *mycompuetrname.sh | exec sh [=10=]

如果您必须在 Windows 上执行此操作,则必须找到与上述命令等效的命令。

假设只有一个:

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 /?