2022年2月22日 星期二

只要點兩下,就可以讓老師免帳號免密碼下載教科書的ISO-適用Windows 各版本

         由於教科書的書商已不提供教材光碟給老師,書商就利用Google雲端硬碟存放教科書ISO。將連結給老師,讓老師去下載ISO。想當然爾,這件事沒什麼大問題。可是當所有的老師同時Google雲端硬碟下載ISO時,學校對外頻寬就通通被佔用了。

        為了解決這個問題,學校建置雲端硬碟集中書商教材ISO。採用免費 Linux 的 Samba 來建立雲端硬碟,請參閱資料來源2.acfs14.04 x32 使用 samba 當作學校檔案伺服器 與資料來源3.xubuntu 18.04.03 x32 用shell 快速完成 samba 設定
        希望能讓老師直接點兩下,免帳號、免密碼就可以下載教科書的ISO。
        上一期發現老師的電腦作業系統有Windows 7、Windows 10,沒想到有位老師剛換新電腦,他電腦的作業系統竟然是最新的Windows 11。那我目前寫的程式,能夠滿足Windows 作業系統各版本的需求,讓老師都能夠使用嗎?還是我需要做些調整,讓程式可以適用Windows 作業系統各版本。那我該怎麼做呢?
        讓BAT能夠判斷現在的環境是什麼作業系統,再來依作業系統來進行相關的程序。

檔案下載 解壓密碼demo1234

        由於找到資料來源5.請問如何在批次檔中判斷作業系統。那我們將其截取我們所要的程式碼,並將其整理如下:
檔案名稱:判斷作業系統.BAT
檔案內容:
@echo off
systeminfo | find "作業系統名稱:" > %~dp0RegSetting\SystemInfo.txt
FOR /F "usebackq delims=: tokens=2" %%i IN (%~dp0RegSetting\SystemInfo.txt) DO set vers=%%i

echo %vers% | find/i "Windows 7" > nul
if %ERRORLEVEL% == 0 goto ver_7


echo %vers% | find "Windows 10" > nul
if %ERRORLEVEL% == 0 goto ver_10


echo %vers% | find "Windows 11" > nul
if %ERRORLEVEL% == 0 goto ver_11


:ver_7
@echo "作業系統是 Windows 7" 
pause
exit

:ver_10
@echo "作業系統是 Windows 10"
pause
exit

:ver_11
@echo "作業系統是 Windows 11"
pause
exit

        那我們將上述程式碼寫入我們的批次檔。     
檔案名稱:登入雲端公用區.bat
檔案內容:
REM 設定伺服器IP
set ServerIP=172.20.3.5

REM =======以下是程式碼可不用修改===============
@echo off
REM 偵測作業系統版本只要做一次就好
if not exist %~dp0RegSetting\SystemInfo.txt (
systeminfo | find "作業系統名稱:" > %~dp0RegSetting\SystemInfo.txt
)

REM 從SystemInfo.txt取得版本訊息
FOR /F "usebackq delims=: tokens=2" %%i IN (%~dp0RegSetting\SystemInfo.txt) DO set vers=%%i

REM 版本比對
echo %vers% | find/i "Windows 7" > nul
if %ERRORLEVEL% == 0 goto ver_7

echo %vers% | find "Windows 10" > nul
if %ERRORLEVEL% == 0 goto ver_10

echo %vers% | find "Windows 11" > nul
if %ERRORLEVEL% == 0 goto ver_11

REM Windos 7
:ver_7
@echo "作業系統是 Windows 7" 
net use /d * /y
cls
@echo 網路磁碟公用區登入程序
@echo =====================================
@echo off
net use v: \\%ServerIP%\public
exit

REM Windos 10
:ver_10
@echo "作業系統是 Windows 10"
if exist %~dp0RegSetting\1.txt (
net use /d * /y
cls
@echo 網路磁碟公用區登入程序
@echo =====================================
@echo off
net use v: \\%ServerIP%\public
exit
) else (
@echo 停止群組安全原則
@regedit.exe /s "%~dp0RegSetting\停止群組安全原則.reg"
@echo OK > %~dp0RegSetting\1.txt
@echo "等下會重新開機,開機後再執行此批次檔。即可進入雲端硬碟!!"
shutdown /r /f /t 0
)

pause
exit

REM Windos 11
:ver_11
@echo "作業系統是 Windows 11"
if exist %~dp0RegSetting\1.txt (
net use /d * /y
cls
@echo 網路磁碟公用區登入程序
@echo =====================================
@echo off
net use v: \\%ServerIP%\public
exit
) else (
@echo 停止群組安全原則
@regedit.exe /s "%~dp0RegSetting\停止群組安全原則.reg"
@echo OK > %~dp0RegSetting\1.txt
@echo "等下會重新開機,開機後再執行此批次檔。即可進入雲端硬碟!!"
shutdown /r /f /t 0
)

pause
exit

檔案名稱:以後不用公用區_電腦恢復原原狀.bat
檔案內容:
@echo off

REM 偵測作業系統版本只要做一次就好
if not exist %~dp0RegSetting\SystemInfo.txt (
systeminfo | find "作業系統名稱:" > %~dp0RegSetting\SystemInfo.txt
)

REM 從SystemInfo.txt取得版本訊息
FOR /F "usebackq delims=: tokens=2" %%i IN (%~dp0RegSetting\SystemInfo.txt) DO set vers=%%i

REM 版本比對
echo %vers% | find/i "Windows 7" > nul
if %ERRORLEVEL% == 0 goto ver_7

echo %vers% | find "Windows 10" > nul
if %ERRORLEVEL% == 0 goto ver_10

echo %vers% | find "Windows 11" > nul
if %ERRORLEVEL% == 0 goto ver_11

REM Windos 7
:ver_7
@echo "作業系統是 Windows 7" 
@echo "電腦已回復先前設定"
@echo "感謝您的使用!!"
pause
exit

REM Windos 10
:ver_10
@echo "作業系統是 Windows 10"
if exist %~dp0RegSetting\1.txt (
@echo 回復群組安全原則
@regedit.exe /s "%~dp0RegSetting\回復群組安全原則.reg"
del %~dp0RegSetting\1.txt
@echo "等下會重新開機,電腦就會回復先前設定"
@echo "感謝您的使用!!"
pause
shutdown /r /f /t 0
)
exit

REM Windos 11
:ver_11
@echo "作業系統是 Windows 11"
if exist %~dp0RegSetting\1.txt (
@echo 回復群組安全原則
@regedit.exe /s "%~dp0RegSetting\回復群組安全原則.reg"
del %~dp0RegSetting\1.txt
@echo "等下會重新開機,電腦就會回復先前設定"
@echo "感謝您的使用!!"
pause
shutdown /r /f /t 0
)
exit

       以下的程式碼跟系列文章1.只要點兩下,就可以讓老師免帳號免密碼下載教科書的ISO的想同檔名的程式碼相同,就負載  
檔案名稱:回復群組安全原則.reg
檔案內容:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\LanmanWorkstation]
"AllowInsecureGuestAuth"=dword:00000000

檔案名稱:停止群組安全原則.reg
檔案內容:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\LanmanWorkstation]
"AllowInsecureGuestAuth"=dword:00000001


檔案名稱:登出雲端公用區.bat
檔案內容:
echo off
net use /d * /yes
exit

資料來源:

沒有留言:

張貼留言

Laravel 12 Model 資料庫中的資料表,並提供與資料庫互動的介面

相關系列文章: 1. 在 windows 10 安裝 laravel 12 studentManagement環境與設定 2. laravel 12 route 路由 3. laravel 12 Blade Templates 網頁模版 4. laravel 12 Control...