对于此目录中的每个文件夹:
"F:\!Storage\!FS Addons\!X-Plane\!Tools\!Ortho4XP\Tiles"
以下是上述目录中的示例文件夹(数字为GPS坐标):
zOrtho4XP_+65-023
zOrtho4XP_+65-024
zOrtho4XP_+65-025
zOrtho4XP_+66-015
zOrtho4XP_+66-016
这些zOrtho4XP_*
文件夹包含卫星图像,这些图像将覆盖在X-Plane 11 Flight Simulator的默认风景上。
为了使卫星图像出现在模拟器中,需要将其文件夹名称添加到scenery_packs.ini
文件中,该文件位于
"E:\X Plane 11\X-Plane 11\Custom Scenery\scenery_packs.ini"
中
以下是scenery_packs.ini
文件的示例:请注意该文件如何包含包含卫星图像的文件夹中的文件夹名称
SCENERY_PACK Custom Scenery/zOrtho4XP_+65-023/
SCENERY_PACK Custom Scenery/zOrtho4XP_+65-024/
SCENERY_PACK Custom Scenery/zOrtho4XP_+65-025/
SCENERY_PACK Custom Scenery/zOrtho4XP_+66-015/
SCENERY_PACK Custom Scenery/zOrtho4XP_+66-016/
这些zOrtho4XP_*
文件夹是分批下载的,有些批次包含数十个zOrtho4XP_*
文件夹,并且每个文件夹名称都必须添加到scenery_packs.ini
文件中。这就是我要避免手动执行的操作,因为在接下来的几周中我将做很多这样的事情,而且我不想不必逐行手动添加这些文件夹;如果不超过1,000,则为数百。
我已经设法对此进行了草拟,但据我所知,这与批处理有关:
@echo off
setlocal
set "target=F:\!Storage\!FS Addons\!X-Plane\!Tools\!Ortho4XP\Tiles"
set "destination=E:\X Plane 11\X-Plane 11\Custom Scenery\scenery_packs.ini"
for %%a in ("%target%") do (
findstr %%~nxA
if exist IGNORE
)else(
echo %%~nxA >> %destination% )
endlocal
pause
答案 0 :(得分:2)
@echo off
setlocal
set "target=F:\!Storage\!FS Addons\!X-Plane\!Tools\!Ortho4XP\Tiles"
set "destination=E:\X Plane 11\X-Plane 11\Custom Scenery\scenery_packs.ini"
(
for /d %%A in ("%target%\*") do @(
>nul findstr /c:"SCENERY_PACK Custom Scenery/%%~nxA/" "%destination%" ^
|| echo SCENERY_PACK Custom Scenery/%%~nxA/
)
) >> "%destination%"
这将使每个子文件夹名称位于%target%
的根目录中。
Findstr
将在%destination%
ini文件中搜索文件夹名称模式。
如果失败,则将文件夹名称模式回显到%destination%
文件。
^
是连续行字符,因为一行很长。