標籤

bat (52) 作品 (38) python (21) shell (17) windows (11) 虛擬機 (11) php (10) CPP (6) KMS (6) 程式設計 (6) docker (5) 使用教學 (5) xoops (4) 公文 (4) Apache2 (3) Excel (3) juniper (3) 資料庫 (3) mysql (2) 免動手 (2) 資料結構 (2) 軟體廣播 (2) 電腦維修 (2) Android Studio (1) Apple IPAD管理 (1) Arduino (1) CSS (1) LAMP (1) NAS (1) Ubuntu (1) VHD (1) Windows Server (1) 原因 (1) 程式應用 (1) 程式積木 (1) 編輯器 (1) 雲端硬碟 (1)

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

資料來源:

2022年2月17日 星期四

只要點兩下,就可以讓老師免帳號免密碼下載教科書的ISO


        由於教科書的書商已不提供教材光碟給老師,書商就利用Google雲端硬碟存放教科書ISO。將連結給老師,讓老師去下載ISO。想當然爾,這件事沒什麼大問題。可是當所有的老師同時Google雲端硬碟下載ISO時,學校對外頻寬就通通被佔用了。
        為了解決這個問題,學校建置雲端硬碟集中書商教材ISO。採用免費 Linux 的 Samba 來建立雲端硬碟,請參閱資料來源2.acfs14.04 x32 使用 samba 當作學校檔案伺服器 與資料來源3.xubuntu 18.04.03 x32 用shell 快速完成 samba 設定
        希望能讓老師直接點兩下,免帳號、免密碼就可以下載教科書的ISO。

程式碼下載 解壓密碼demo1234

使用的BAT如下:
在Windows 7 作業系統,一切都很順利
伺服器IP:192.168.154.133
檔名:雲端硬碟登入login.bat
檔案內容:
net use /d * /y
cls
net use v: \\192.168.154.133\homework
exit

雲端硬碟登出
檔名:雲端硬碟登出logout.bat
檔案內容:
echo off
net use /d * /yes
exit

        沒想到,在Windows 10 作業系統出現了問題。問題如下:
        於是找大神Google,找找看否有解?找到資料來源1.無法從 Windows 10 中的檔案總管存取共用資料夾。於是,修改了BAT,並增加兩個reg。其結構如下:


檔案名稱:回復群組安全原則.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
檔案內容:
REM 設定伺服器IP
set ServerIP=172.20.3.5

REM =======以下是程式碼可不用修改===============
@echo off
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 "等下會重新開機,開機後再執行此批次檔。即可進入雲端硬碟!!"
pause
shutdown /r /f /t 0
)

pause
exit

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

檔案名稱:以後不用公用區_電腦恢復原原狀.bat
檔案內容:
@echo off
if exist %~dp0RegSetting\1.txt (
@echo 回復群組安全原則
@regedit.exe /s "%~dp0RegSetting\回復群組安全原則.reg"
del %~dp0RegSetting\1.txt
@echo "等下會重新開機,電腦就會回復先前設定"
@echo "感謝您的使用!!"
pause
shutdown /r /f /t 0
)

exit






只要點兩下,傳統右鍵選單改回Win11右鍵選單

系列文章: 1. 只要點兩下,就能將Win11 右鍵選單 回復 傳統右鍵選單 2. 只要點兩下,傳統右鍵選單改回Win11右鍵選單 上一篇提到只要點兩下,就能將Win11選單回到傳統選單。但是有沒有方法能夠回到Win11選單呢?                    ...