mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-22 00:13:01 -05:00
tools: winfsp-winpe.bat
This commit is contained in:
parent
84ab502b98
commit
2c42dc535c
60
tools/winfsp-winpe.bat
Normal file
60
tools/winfsp-winpe.bat
Normal file
@ -0,0 +1,60 @@
|
||||
@echo off
|
||||
|
||||
setlocal
|
||||
setlocal EnableDelayedExpansion
|
||||
|
||||
if NOT [%1]==[] set Arch=%1
|
||||
if NOT [%2]==[] set Mount=%2
|
||||
if NOT [%3]==[] set Image=%3
|
||||
if [!Mount!]==[] (echo usage: winfsp-winpe Arch Mount [Image] >&2 & goto fail)
|
||||
|
||||
set SkipDism=0
|
||||
if [!Image!]==[] set SkipDism=1
|
||||
|
||||
set RegKey="HKLM\SOFTWARE\WinFsp"
|
||||
set RegVal="InstallDir"
|
||||
reg query !RegKey! /v !RegVal! /reg:32 >nul 2>&1
|
||||
if !ERRORLEVEL! equ 0 (
|
||||
for /f "tokens=2,*" %%i in ('reg query !RegKey! /v !RegVal! /reg:32 ^| findstr !RegVal!') do (
|
||||
set InstallDir=%%j
|
||||
)
|
||||
)
|
||||
if not exist "!InstallDir!" (echo cannot find WinFsp installation >&2 & goto fail)
|
||||
|
||||
if not exist !Mount! (echo cannot find mount directory !Mount! >&2 & goto fail)
|
||||
if !SkipDism! equ 0 (
|
||||
if not exist !Image! (echo cannot find image file !Image! >&2 & goto fail)
|
||||
)
|
||||
|
||||
if !SkipDism! equ 0 (
|
||||
echo Dism /Mount-Image /ImageFile:!Image! /Index:1 /MountDir:!Mount!
|
||||
Dism /Mount-Image /ImageFile:!Image! /Index:1 /MountDir:!Mount!
|
||||
if !ERRORLEVEL! neq 0 goto fail
|
||||
)
|
||||
|
||||
echo copy "!InstallDir!"\bin\winfsp-!Arch!.dll !Mount!\Windows\System32
|
||||
copy "!InstallDir!"\bin\winfsp-!Arch!.dll !Mount!\Windows\System32 >nul
|
||||
if !ERRORLEVEL! neq 0 goto fail
|
||||
|
||||
echo copy "!InstallDir!"\bin\winfsp-!Arch!.sys !Mount!\Windows\System32
|
||||
copy "!InstallDir!"\bin\winfsp-!Arch!.sys !Mount!\Windows\System32 >nul
|
||||
if !ERRORLEVEL! neq 0 goto fail
|
||||
|
||||
rem echo copy "!InstallDir!"\bin\memfs-!Arch!.exe !Mount!\Windows\System32
|
||||
rem copy "!InstallDir!"\bin\memfs-!Arch!.exe !Mount!\Windows\System32 >nul
|
||||
rem if !ERRORLEVEL! neq 0 goto fail
|
||||
|
||||
echo Creating !Mount!\Windows\System32\startnet.cmd
|
||||
echo regsvr32 /s winfsp-x64.dll > !Mount!\Windows\System32\startnet.cmd
|
||||
echo wpeinit >> !Mount!\Windows\System32\startnet.cmd
|
||||
|
||||
if !SkipDism! equ 0 (
|
||||
echo Dism /Unmount-Image /MountDir:!Mount! /Commit
|
||||
Dism /Unmount-Image /MountDir:!Mount! /Commit
|
||||
if !ERRORLEVEL! neq 0 goto fail
|
||||
)
|
||||
|
||||
exit /b 0
|
||||
|
||||
:fail
|
||||
exit /b 1
|
Loading…
x
Reference in New Issue
Block a user