mirror of
				https://github.com/winfsp/winfsp.git
				synced 2025-10-31 03:58:38 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			61 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Batchfile
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Batchfile
		
	
	
	
	
	
| @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
 |