標籤

bat (54) 作品 (41) python (24) 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) 轉檔 (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年5月25日 星期三

快速設定關閉瀏覽器(Chrome、Edge、Firefox、Opera)就自動登出


        最近因疫情的關係,經常有學生3+4 或是0+7。學校老師就必須混成教學。然而下課時,老師關閉瀏覽器就離開教室,卻未登出。學生就會去開瀏覽器,由於老師未登出,就會用老師的帳號登入Classroom。學生比較調皮,就會用老師的帳號去看其他同學的作業。這樣很不好!除了資安宣導與提醒老師記得登出,還有什麼是資訊組可以做的呢?在不改變老師的習慣下,就只有設定關閉瀏覽器(Chrome、Edge、Firefox、Opera)就自動登出。本篇是快速設定關閉瀏覽器(Chrome、Edge、Firefox、Opera)就自動登出。

1.快速設定Chrome 關閉瀏覽器就自動登出
在Chrome 上方的瀏覽列中,輸入chrome://settings/cookies

2.快速設定Edge 關閉瀏覽器就自動登出
在Edge 上方的瀏覽列中,輸入edge://settings/clearBrowsingDataOnClose

3.快速設定Firefox 關閉瀏覽器就自動登出
在Firefox 上方的瀏覽列中,輸入about:preferences#privacy

4.快速設定Opera 關閉瀏覽器就自動登出
在Opera 上方的瀏覽列中,輸入opera://settings/cookies


手動設定關閉瀏覽器(Chrome、Edge、Firefox、Opera)就自動登出


         最近因疫情的關係,經常有學生3+4 或是0+7。學校老師就必須混成教學。然而下課時,老師關閉瀏覽器就離開教室,卻未登出。學生就會去開瀏覽器,由於老師未登出,就會用老師的帳號登入Classroom。學生比較調皮,就會用老師的帳號去看其他同學的作業。這樣很不好!除了資安宣導與提醒老師記得登出,還有什麼是資訊組可以做的呢?在不改變老師的習慣下,就只有設定關閉瀏覽器(Chrome、Edge、Firefox、Opera)就自動登出。本篇是手動手動設定關閉瀏覽器(Chrome、Edge、Firefox、Opera)就自動登出。


1.手動設定Chrome 關閉瀏覽器就自動登出
教學影片:
詳細步驟:

2.手動設定Edge 關閉瀏覽器就自動登出
教學影片:
詳細步驟:


3.手動設定Firefox 關閉瀏覽器就自動登出
教學影片:


詳細步驟:
4.手動設定Opera 關閉瀏覽器就自動登出
教學影片:

2022年5月21日 星期六

只要點兩下就能完成Django 2.2.2 虛擬環境安裝、專案建立與設定

       最近看了參考書籍1.Python與LINE Bot機器人全面實戰特訓班(附203分鐘影音教學/範例程式)。面對複雜的環境設定,總覺得有點懶。不想記那麼多步驟,那就寫程式來完成。沒想到只需要用Bat 就能夠完成。另外,如果直接在BAT內,寫上\Scripts\activate來啟動虛擬環境,就無法執行下一個指令。但是直接在BAT內,寫上 call \Scripts\activate.bat ,就可以啟動虛擬環境,然後繼續執行下一個指令。

下載檔案。解壓密碼:demo1234
教學影片:

       整個程序如下:
       1.建立 Django 專案
          django-admin startproject 專案名稱
       2.進入專案名稱的資料夾
          cd 專案名稱
       3.建立 Application 應用程式
          python manage.py startapp 應用程式名稱
       4.建立templates資料夾 與 static資料夾
          md templates
          md static
       5.建立資料庫
          python manage.py makemigrations
          python manage.py migrate


程式目的:虛擬環境安裝
檔案名稱:VenvDjango222Install.bat
檔案內容:
@echo off
  REM 安裝套件 venv
  python -m pip install venv
  REM 輸入 Django Env Name
  SET /P DjangoEnvName="Please Enter Django Env Name:"
  echo "Your Django Env Name is %DjangoEnvName% "
  md %DjangoEnvName%
  python -m venv %DjangoEnvName%
  copy %~dp0program\DjangoProjectInstall.bat       %~dp0%DjangoEnvName%\DjangoProjectInstall.bat  
  timeout /t 2
  cd %~dp0%DjangoEnvName%\
  call %~dp0%DjangoEnvName%\Scripts\activate.bat
  python -m pip install django==2.2.2
  timeout /t 2
  call %~dp0%DjangoEnvName%\DjangoProjectInstall.bat
  timeout /t 10
exit

程式目的:專案建立與設定
檔案名稱:DjangoProjectInstall.bat
檔案內容:
@echo off
REM 輸入 DjangoProjectName
SET /P DjangoProjectName="Please Enter Django Project Name:"
echo Your Django Project Name is %DjangoProjectName%
REM 輸入 DjangoProjectAppName
SET /P DjangoProjectAppName="Please Enter %DjangoProjectName% APP Name:"
echo Your Django Project APP Name is %DjangoProjectAppName%
REM 建立Django專案
%~dp0Scripts\django-admin startproject %DjangoProjectName%
echo 建立Django專案 %DjangoProjectName% OK!
REM 到 Django專案目錄下
cd %~dp0%DjangoProjectName%
echo 現在目錄 %~dp0%DjangoProjectName% 
REM 建立APP
python manage.py startapp %DjangoProjectAppName%
echo 建立APP %DjangoProjectAppName% OK!
REM 建立templates資料夾
md templates
echo 建立templates資料夾 OK!
REM 建立static資料夾
md static
echo 建立static資料夾 OK!
REM 建立migration 資料檔
python manage.py makemigrations
echo 建立migration 資料檔 OK!
REM 模型與資料庫同步
python manage.py migrate
echo 模型與資料庫同步 OK!
REM 開啟網頁127.0.0.1:8000
start http:\\127.0.0.1:8000
echo 開啟網頁127.0.0.1:8000  OK!
REM 啟動Server
python manage.py runserver
echo 啟動Server  OK!
pause
exit




參考書籍:

2022年5月18日 星期三

如何用BAT與Python下載與靜默安裝 DB Browser for SQLite

        由於正在學習Python 與 Sqlite3,需要下載與安裝DB Browser for SQLite。因此藉由BAT 與 Python 來簡化下載與安裝。換句話說,只要點兩下,就能夠完成自動下載與安裝DB Browser for SQLite。此時的靜默安裝,並不會建立捷徑。因此需要建立一個BAT來建立捷徑。此外,利用Python Wget 套件來下載檔案。若不使用BAT,而要用Python來建立捷徑的話,需要安裝win32com的模組。然而,直接用pip install win32com 會出現錯誤訊息。若要安裝win32com的模組,則需下 
$pip install pypiwin32

此時的套件大小約為12.2M。

下載檔案。解壓密碼:demo1234
教學影片:


檔案名稱:DbBrowerForSQLite3DownloadAndInstall.bat
檔案內容:
@echo off
if not exist %HomeDrive%%HomePath%\AppData\Local\Programs\Python\Python39 (
 start https://skjhcreator.blogspot.com/2022/05/batpython-390.html
 echo "電腦內尚未安裝Python 3.9.0。請前往下載"
 pause
) else (
echo "電腦內已安裝程式,不需要安裝 Pyhon 3.9.0"
echo "安裝套件 wget"
python -m pip install wget
cd %~dp0program\
python -m DownloadDbBrowerForSQLite.py
timeout /t 5
start/wait %~dp0program\Downloads\DB.Browser.for.SQLite-3.12.2-win64.msi /qb
timeout /t 2
call %~dp0program\CreateShortCuts.bat
timeout /t 2
)
exit

檔案名稱:DownloadDbBrowerForSQLite.py
檔案內容:
import os
import wget

# 下載 DB Brower for SQLite
StopDownloadSet = set()
ReadFile = []
FileName = []
UrlPath = []
# ProgramFilePath = os.getcwd()+'\\program\\'
DownloadFilePath = os.getcwd()+'\\Downloads\\'
DownloadFileName = os.listdir(DownloadFilePath)
DownloadFileNameSet = set(DownloadFileName)
UrlPathFileName = 'UrlPath.txt'
OpenFile = open(UrlPathFileName,'r')
ReadFile = OpenFile.readlines()
for i in ReadFile:
    i = i.replace('\n','')
    UrlPath.append(i)
    temp = i.split('/')
    temp = temp[-1].replace('\n','')
    FileName.append(temp)
OpenFile.close()
FileNameSet = set(FileName)
#  檢查Downloads資料夾檔案名稱與UrlPath檔案內檔案名稱,是否有同名。
StopDownloadSet = FileNameSet.difference(DownloadFileNameSet)
DownloadFileName = []
for i in StopDownloadSet:
    DownloadFileName.append(i)
#  如果同名,就不下載。
for i in range(0,len(DownloadFileName)):
    print("Download "+DownloadFileName[i]+". Start!")
    wget.download(UrlPath[i],str(DownloadFilePath+DownloadFileName[i]))
    print("Download "+DownloadFileName[i]+". OK!")

檔案名稱:CreateShortCuts.bat
檔案內容:
@ECHO OFF
TITLE 建立 DB Browser for SQLCipher & DB Browser for SQLite 捷徑
mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut(a.SpecialFolders(""Desktop"") & ""\DB Browser (SQLCipher).lnk""):b.TargetPath=""C:\Program Files\DB Browser for SQLite\DB Browser for SQLCipher.exe"":b.WorkingDirectory=""%~dp0"":b.Save:close")
mshta VBScript:Execute("Set a=CreateObject(""WScript.Shell""):Set b=a.CreateShortcut(a.SpecialFolders(""Desktop"") & ""\DB Browser (SQLite).lnk""):b.TargetPath=""C:\Program Files\DB Browser for SQLite\DB Browser for SQLite.exe"":b.WorkingDirectory=""%~dp0"":b.Save:close")
echo DB Browser for SQLCipher & DB Browser for SQLite 捷徑已建立
timeout /t 2
exit

檔案名稱:UrlPath.txt
檔案內容:
https://download.sqlitebrowser.org/DB.Browser.for.SQLite-3.12.2-win64.msi





如何用BAT與Python來下載、解壓縮、環境設定Sqlite3

        想要學習Python 3.9.0 與 sqlite3 。面對Sqlite3的下載、解壓縮、檔案資料夾與後續的環境設定,總覺得很麻煩。希望能夠一鍵完成所有的步驟,包含Sqlite3的下載、解壓縮、檔案資料夾與後續的環境設定。懶,唯一的理由。就是讓一切變得簡單。
        由於單純的BAT,在下載的時候需要用到Wget.exe。在Python 3.9.0 環境中,可以利用wget套件來進行下載。因此改用Python wget 套件。整個程式就是利用BAT 執行Python程式來進行下載、解壓縮、搬移檔案與資料夾,最後再利用BAT移到系統資料夾與設定環境變數。
        修正第二版,由於Python 程式下載完成後,需要一段時間讓檔案成型。否則下載過程中會形成暫存檔,讓後面的解壓縮程序出現錯誤。導致無法解壓縮。因此,在Python 程式新增暫停2秒的程序。另外,在程式中也改寫成Function,讓後續的程序可以利用。

下載檔案。解壓密碼:demo1234
教學影片:


修正第二版:

檔案名稱:Python390Sqlite3Install.bat
檔案內容:
@echo off
if not exist %HomeDrive%%HomePath%\AppData\Local\Programs\Python\Python39 (
 start https://skjhcreator.blogspot.com/2022/05/batpython-390.html
 echo "電腦內尚未安裝Python 3.9.0。請前往下載"
 pause
) else (
echo "電腦內已安裝程式,不需要安裝 Pyhon 3.9.0"
echo "安裝套件 wget"
python -m pip install wget
cd %~dp0program\
python -m Sqlite3DownloadUnzip.py
timeout /t 5
call MoveSystem.bat
timeout /t 2
call Sqlite3EnvSetting.bat
timeout /t 2
)
exit

檔案名稱:Sqlite3DownloadUnzip.py
檔案內容:
import os
import wget
from zipfile import ZipFile
import shutil
import time

def UrlPathReadFunction(DownloadsFilePath,DownloadsFileName,DownloadsFileNameSet):
    OpenFile = open('Urlpath.txt','r')
    ReadFile = OpenFile.readlines()
    for i in ReadFile:
        i = i.replace('\n','')
        UrlPath.append(i)
        temp = i.split('/')
        temp = temp[-1].replace('\n','')
        FileName.append(temp)
    OpenFile.close()
    FileNameSet = set(FileName)
    return FileNameSet,UrlPath

def CheckBetweenDownloadAndUrlPath(FileNameSet,DownloadsFileNameSet):
    StopDownloadSet = FileNameSet.difference(DownloadsFileNameSet)
    TempDownloadsFileName = []
    for i in StopDownloadSet:
        TempDownloadsFileName.append(i)
    return TempDownloadsFileName

def DownloadFunction(TempFileName,UrlPath):
    #  如果同名,就不下載。
    for i in range(0,len(TempFileName)):
        print("Download "+TempFileName[i]+". Start!")
        wget.download(UrlPath[i],str(DownloadsFilePath+TempFileName[i]))
        print("Download "+TempFileName[i]+". OK!")

def UnZipFunction(CheckFileName):
    for i in CheckFileName:
        i = CheckFilePath+i
        with ZipFile(i,'r') as zip:
            zip.printdir()
            zip.extractall('temp')

def MoveFilesToSqlite3():
    MoveFiles = []
    MoveFilePath = os.getcwd()+'\\temp\\'        
    MoveFiles = os.listdir(MoveFilePath)
    MoveDir = MoveFiles[0]
    RenamedFile01 = MoveFiles[1].replace(".def","")
    del MoveFiles[0]
    for file in MoveFiles:
        shutil.move(MoveFilePath+file,MoveFilePath+MoveDir)
    os.rename(MoveFilePath+MoveDir,MoveFilePath+RenamedFile01)

# Sqlite3 下載
StopDownloadSet = set()
ReadFile = []
FileName = []
UrlPath = []
DownloadsFileName = []
DownloadsFilePath = os.getcwd()+'\\Downloads\\'
DownloadsFileName = os.listdir(DownloadsFilePath)
DownloadsFileNameSet = set(DownloadsFileName)
# 讀取UrlPath.txt檔案內容,取得下載路徑與檔名
FileNameSet,UrlPath = UrlPathReadFunction(DownloadsFilePath,DownloadsFileName,DownloadsFileNameSet)
# 檢查Downloads資料夾檔案名稱與UrlPath檔案內檔案名稱,是否有同名。如果同名,就不下載。
TempFileName = []
TempFileName = CheckBetweenDownloadAndUrlPath(FileNameSet,DownloadsFileNameSet)
DownloadFunction(TempFileName,UrlPath)
time.sleep(2)
# 檢查Downloads資料夾內的壓縮檔,並解壓縮到temp資料夾
CheckFileName = []
CheckFilePath = os.getcwd()+'\\Downloads\\'
CheckFileName = os.listdir(CheckFilePath)
UnZipFunction(CheckFileName)
# 將temp資料夾內的檔案更名並移動到temp\sqlite3
MoveFilesToSqlite3()


檔案名稱:MoveSystem.bat
檔案內容:
@echo off
REM :: BatchGotAdmin (Run as Admin code starts)
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
REM :: BatchGotAdmin (Run as Admin code ends)
REM :: Your codes should start from the following line
move %~dp0temp/sqlite3 %WinDir%
timeout /t 2
exit

檔案名稱:Sqlite3EnvSetting.bat
檔案內容:
@echo off
REM :: BatchGotAdmin (Run as Admin code starts)
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
REM :: BatchGotAdmin (Run as Admin code ends)
REM :: Your codes should start from the following line
set PythonPath=%PATH%%WinDir%\sqlite3\;
echo %PythonPath%
setx /m PATH "%PythonPath%"
echo %PATH%
echo 完成系統環境變數設定 
timeout /t 2
exit

檔案名稱:UrlPath.txt
檔案內容:
https://www.sqlite.org/2022/sqlite-dll-win64-x64-3380500.zip
https://www.sqlite.org/2022/sqlite-tools-win32-x86-3380500.zip



第一版:

檔案名稱:Python390Sqlite3Install.bat
檔案內容:
@echo off
if not exist %HomeDrive%%HomePath%\AppData\Local\Programs\Python\Python39 (
 start https://skjhcreator.blogspot.com/2022/05/batpython-390.html
 echo "電腦內尚未安裝Python 3.9.0。請前往下載"
 pause
) else (
echo "電腦內已安裝程式,不需要安裝 Pyhon 3.9.0"
echo "安裝套件 wget"
python -m pip install wget
cd %~dp0program\
python -m Sqlite3DownloadUnzip.py
timeout /t 5
call MoveSystem.bat
timeout /t 2
call Sqlite3EnvSetting.bat
timeout /t 2
)
exit

檔案名稱:Sqlite3DownloadUnzip.py
檔案內容:
import os
import wget
from zipfile import ZipFile
import shutil
# Sqlite3 下載
StopDownloadSet = set()
ReadFile = []
FileName = []
UrlPath = []
DownloadsFileName = []
DownloadsFilePath = os.getcwd()+'\\Downloads\\'
DownloadsFileName = os.listdir(DownloadsFilePath)
DownloadsFileNameSet = set(DownloadsFileName)
OpenFile = open('Urlpath.txt','r')
ReadFile = OpenFile.readlines()
for i in ReadFile:
    i = i.replace('\n','')
    UrlPath.append(i)
    temp = i.split('/')
    temp = temp[-1].replace('\n','')
    FileName.append(temp)
OpenFile.close()
FileNameSet = set(FileName)
#  檢查Downloads資料夾檔案名稱與UrlPath檔案內檔案名稱,是否有同名。
StopDownloadSet = FileNameSet.difference(DownloadsFileNameSet)
DownloadsFileName = []
for i in StopDownloadSet:
    DownloadsFileName.append(i)
#  如果同名,就不下載。
for i in range(0,len(DownloadsFileName)):
    print("Download "+DownloadsFileName[i]+". Start!")
    wget.download(UrlPath[i],str(DownloadsFilePath+DownloadsFileName[i]))
    print("Download "+DownloadsFileName[i]+". OK!")
# 檢查Downloads資料夾內的壓縮檔,並解壓縮到temp資料夾
DownloadsFileName = []
DownloadsFilePath = os.getcwd()+'\\Downloads\\'
DownloadsFileName = os.listdir(DownloadsFilePath)
for i in DownloadsFileName:
    i = DownloadsFilePath+i
    with ZipFile(i,'r') as zip:
        zip.printdir()
        zip.extractall('temp')
# 將temp資料夾內的檔案更名並移動到temp\sqlite3
MoveFiles = []
MoveFilePath = os.getcwd()+'\\temp\\'        
MoveFiles = os.listdir(MoveFilePath)
MoveDir = MoveFiles[0]
RenamedFile01 = MoveFiles[1].replace(".def","")
del MoveFiles[0]
for file in MoveFiles:
    shutil.move(MoveFilePath+file,MoveFilePath+MoveDir)
os.rename(MoveFilePath+MoveDir,MoveFilePath+RenamedFile01)


檔案名稱:MoveSystem.bat
檔案內容:
@echo off
REM :: BatchGotAdmin (Run as Admin code starts)
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
REM :: BatchGotAdmin (Run as Admin code ends)
REM :: Your codes should start from the following line
move %~dp0temp/sqlite3 %WinDir%
timeout /t 2
exit

檔案名稱:Sqlite3EnvSetting.bat
檔案內容:
@echo off
REM :: BatchGotAdmin (Run as Admin code starts)
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
REM :: BatchGotAdmin (Run as Admin code ends)
REM :: Your codes should start from the following line
set PythonPath=%PATH%%WinDir%\sqlite3\;
echo %PythonPath%
setx /m PATH "%PythonPath%"
echo %PATH%
echo 完成系統環境變數設定 
timeout /t 2
exit

檔案名稱:UrlPath.txt
檔案內容:
https://www.sqlite.org/2022/sqlite-dll-win64-x64-3380500.zip
https://www.sqlite.org/2022/sqlite-tools-win32-x86-3380500.zip

        



資料來源:

2022年5月15日 星期日

因應微軟軟體授權PILSA方案,學校單位可以採取何種策略因應

       檢視自己手邊可用的工具。面對學校的需求,我可以提出什麼因應策略。
一、在不花錢與不犯法的情況下,我可以怎麼做?
    1.使用作業系統(取代作業系統):
    (1)使用Linux
    (2)使用Chorme OS   
    2.使用文書軟體(取代Office 2019):
    (1)使用者改採Office 365 線上版https://o365.k12cc.tw/
         優點:1.免費
                     2.使用者習慣改變較少,依舊使用Word、Excel、PowerPoint。
                     3.檔案交換時,格式不變。
         缺點:1.使用者使用前需登入。
                     2.使用者需將檔案上傳、下載。
                     3.刪除檔案需到OneDrive。才能有刪除的動作
                     4.使用者需重新習慣Office 365 的介面。
    (2)使用者改採Google 文件、試算表、簡報 
         優點:1.免費
                     2.文件、試算表、簡報均有提供移置垃圾桶的選項
         缺點:1.使用者使用前需登入。
                     2.使用者需將檔案上傳、下載。
                     3.檔案交換時,格式會變。
                     4.使用者需重新習慣文件、試算表、簡報介面。

二、請學校採買學校所需的授權數量。

2022年5月3日 星期二

如何用BAT下載python 3.9.0,並完成靜默安裝


        最近發現Python 是個用途很廣的程式語言,想用Python來處理Windows系統的問題。於是,便想要BAT快速處理Python的下載與安裝。更想要縮短安裝的時間,不用一直按[下一步]。

下載檔案。解壓密碼:demo1234
教學影片:


        程式目的:
1.快速下載64位元的python 3.9.0 安裝程式
2.靜默安裝 python 3.9.0
3.安裝路徑寫入系統環境變數
資料夾結構如下:



檔案用途:讀取UrlPath.txt,進行python 3.9.0 下載、安裝與呼叫Python39EnvirSetting.bat
檔案名稱:Python390DownloadAndSetup.bat
檔案內容:
@echo off
for /f "tokens=*" %%a in (UrlPath.txt) do (
  set UrlPath=%%a
)
REM ===================以下為程式碼不需修改================================
if not exist %HomeDrive%%HomePath%\AppData\Local\Programs\Python\Python39 (
   if not exist %~dp0/downloads/python-3.9.0-amd64.exe ( 
     start program\wget -P downloads/ %UrlPath%
     pause
     echo 完成下載
     pause
   ) else (
     echo 檔案存在,不需下載
     pause
   )
%~dp0/downloads/python-3.9.0-amd64.exe /S
echo 完成安裝
call %~dp0/program/Python39EnvirSetting.bat
echo 安裝路徑寫入系統環境變數
pause
exit
) else (
echo 電腦內已安裝程式,不需要安裝
pause
exit
)
exit

檔案用途:提供下載網址,給Python390DownloadAndSetup.bat讀取
檔案名稱:UrlPath.txt
檔案內容:
https://www.python.org/ftp/python/3.9.0/python-3.9.0-amd64.exe

檔案用途:Python39EnvirSetting.bat將安裝路徑寫入環境變數設定
檔案名稱:Python39EnvirSetting.bat
檔案內容:
@echo off
REM :: BatchGotAdmin (Run as Admin code starts)
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
REM :: BatchGotAdmin (Run as Admin code ends)
REM :: Your codes should start from the following line
set PythonPath=%PATH%
set "PythonPath=%PythonPath:Microsoft\WindowsApps=Programs\Python\Python39%"
setx /m PATH "%PythonPath%"
echo 完成系統環境變數設定 
pause



只要點兩下,就能夠將InputAndOutput資料夾底下的子子孫孫資料夾內所有Word通通轉成PDF

  系列文章: 1. 只要點兩下,就能將一堆的Doc與Docx 轉成 PDF 1. https://skjhcreator.blogspot.com/2023/05/docdocx-pdf.html 2. 只要點兩下,就能將一堆的JPG轉成一個PDF,並以JPG所在的資料夾名稱為...