Skip to content

Instantly share code, notes, and snippets.

@blubbll
Last active November 12, 2019 08:29
Show Gist options
  • Save blubbll/dd4a6b9156064cdf8741720ff6e7933e to your computer and use it in GitHub Desktop.
Save blubbll/dd4a6b9156064cdf8741720ff6e7933e to your computer and use it in GitHub Desktop.
Word-ungeschützter Modus
@echo off
set title=Word-Dokument
::Übergebenen Dateinamen holen
set param=%0
::Aktueller Ordner
cd /d %~dp0
::TMPDIR
set tmp=tmp>nul 2>&1
IF not exist %tmp% (mkdir %tmp%)
del /q /s %tmp%\*
::VBS
set vbs=%~n0.vbs
IF [%1] == [] goto empty
IF Not Exist "%vbs%" goto install
IF %1 ==launch goto launch
:launch
cls
for /f "usebackq" %%f in (
`mshta "javascript:new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(new ActiveXObject('WScript.Shell').PopUp('M\u00f6chten Sie dieses Word-Dokument \n["%2"]\nwirklich im ungesch\u00fctzten Modus \u00f6ffnen?',0,"%title%",36));close();"`
) do (
if "%%f"=="6" (
goto open
) else if "%%f"=="7" (
del %vbs%
goto end
) else (
echo "Fehler"
pause
exit /b 1
)
)
goto end
:open
set fileNameRaw = %2
for %%f in (%fileNameRaw :\Temp=%) do set fileName=%%~nxf
::Datei löschen, falls schon existent im ANHÄNGE-Ordner
del /q /s %tmp%/%fileName%
::Datei aus temporärem Verzeichnis in ANHÄNGE-Ordner kopieren
copy %2 tmp\%fileName%
::Datei öffnen
%tmp%\%fileName%
::Datei löschen
del /q /s %tmp%\%fileName%
del /q /s %vbs%
goto end
:empty
mshta "javascript:var sh=new ActiveXObject( 'WScript.Shell' ); sh.Popup( 'Kein Parameter.', 10, "%title%", 64 );close();"
del %vbs%
goto end
:install
(
echo Dim WinScriptHost
echo Set WinScriptHost = CreateObject^(^"WScript.Shell^"^)
echo Dim file
echo If WScript.Arguments.Count ^> 0 Then
echo file ^= WScript.Arguments.Item^(0^)
echo End If
echo ' 0 ^= Ohne Fenster
echo WinScriptHost.Run replace^(WScript.ScriptFullName,^".vbs^", ^".bat^"^) ^& " launch " ^& replace^(file, "\", "\\"^), 0
echo 'Kein Scheduler
echo Set WinScriptHost ^= Nothing
)>%vbs%
goto startvbs
:startvbs
start %vbs% %*
:end
exit /b 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment