我只想在所有一级子文件夹中执行此代码。
@echo off
powershell.exe "$o = Get-Content -Raw .\manifest.json | ConvertFrom-Json; '{0} {1} - Microsoft Flight Simulator {2}' -f $o.creator, $o.title, $o.version | Set-Content ('version_{0}_msfs.txt' -f (-split $o.title)[0])"
我可以在批处理文件中执行此操作吗? 当前文件夹的每个一级子文件夹中的文件中都有一个manifest.json。我想从当前文件夹运行批处理文件。命令的 PowerShell 部分会很好。
这个对我有用:
@echo off
setlocal enableDelayedExpansion
REM Retrieve Parent Folder
set parentfolder=%cd%
REM Retrieve Subfolders
set i=0
for /f "eol=: delims=" %%F in ('dir /b /ad *') do (
set /a i+=1
set "folder!i!=%%F"
)
REM Loop Through Sub Folders
for /l %%N in (1 1 %i%) do (
cd %parentfolder%\!folder%%N!
Powershell.exe "$o = Get-Content -Raw .\manifest.json | ConvertFrom-Json; '{0} {1} - Microsoft Flight Simulator {2}' -f $o.creator, $o.title, $o.package_version | Set-Content ('version_{0}_msfs.txt' -f (-split $o.title)[0]).ToLower()"
)