从批处理文件中确定子文件夹中的文件名

时间:2009-06-05 15:01:59

标签: batch-file

我有一个像这样的目录结构:

- Root
  - Versioned deployment folder
    - config file

“版本化部署文件夹”名称因应用程序的每个版本而异。配置文件名保持不变。

我想编写一个批处理文件,在配置文件中打开一个程序。无论中间文件夹的名称如何,批处理文件都应保持不变。配置文件将是唯一一个名称在Root下的文件。

如何从批处理文件中一致地获取配置文件的路径?

2 个答案:

答案 0 :(得分:1)

这里似乎缺少一些信息......批处理文件只需知道版本化文件夹名称是什么。有规则吗?你总是想要最新版本的文件夹吗?如果是这样,您如何命名部署版本?

更新:因此,如果您只有一个子文件夹(版本化文件夹),并且您希望固定批处理文件始终对该子文件夹中的固定文件名执行某些调用,则可以做到这一点:

@for /f "tokens=* delims= " %%a in ('@dir /ad /b') do @set FOLDER=%%a
echo %FOLDER%
call notepad %FOLDER%\test.config

显然将test.config更改为文件夹的固定名称。

这是否满足您的需求......?

答案 1 :(得分:0)

您可以使用dir / s / b configfile来获取文件路径。将其存储在变量中,您可以使用%variable删除文件名:~0,-x%。 x是文件名长度。

希望这有帮助。