我有一个特别棘手的批处理脚本请求。我有这样的文件/文件夹结构
/mapcfgs/
/folder 1/
somefile.new
somefile.old
/folder 2/
someotherfile.new
someotherfile.old
/folder 3/
someotherotherfile.new
someotherotherfile.old
/maps/
/folder 1/
somefile.inf
/folder 2/
someotherfile.inf
/folder 3/
someotherotherfile.inf
现在,我要做的是制作一个脚本,将 /mapcfgs/(name of folder)/*.new 复制到 /maps/(name of folder)/*.inf
我遇到的问题是我不知道如何只获取我的 for 语句找到的每个文件的文件夹名称,因为我需要在我的复制语句中使用该参数。
到目前为止,我的脚本看起来像这样。
@echo off
echo hello
for /f "usebackq tokens=* delims=\" %%a in (`dir /a-d /b /s mapcfgs *.new`) do copy "%%~dpna.new" "maps/%%~na.inf"
echo script finished
但是,我不仅需要将每个文件复制到 /maps/ 中,还需要复制到 /maps 下的相应文件夹名称中,该名称对应于文件在 mapcfgs 下的文件夹名称。谁能帮我这个?