標籤

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月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





沒有留言:

張貼留言

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

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