2023年1月16日 星期一

只要點兩下,就能寄送全校教職員薪資單 for Windows 7 x64


        由於先前開發的程式在Windows 10 x64 與 Python 3.9.0 環境中編譯,適用Win 10 x64。但還是無法在出納組電腦執行,換句話說,原先的案主依舊無法享受便利--點兩下,就可以寄送寄送全校教職員薪資單。因此,必須想法子來處理。

 最後重新編譯程式:
下載檔案。解壓密碼:demo1234
教學影片:


1.在出納組電腦點兩下後,為何無法寄出全校教職員薪資單?
   原因在出納組電腦作業系統為 Windows 7 x64 SP1,需改用Python 3.8.6 以前的版本重新編譯。
2. 目前實作,Python編譯環境如下:
(1)虛擬機:VMware Player 6.0
(2)作業系統:Windows 7 x64 SP1
(3)更新套件:KB4457144
(4)Python版本:3.8.01.
(5)Python編輯程式:Visual Studio Code  版本:1.50.1

        編譯PyGmail.py,需事先安裝Python 套件如下:
(1)Pyinstaller
    安裝指令: pip install pyinstaller
(2)Openpyxl
    安裝指令: pip install openpyxl

        編譯PyGmail.py
    編譯指令:pyinstaller -F PyGmail.py




資料來源:





        

2023年1月15日 星期日

找到原因了,在出納組電腦點兩下後,為何無法寄出全校教職員薪資單!


        總務處出納組每月都會在薪資入帳的當日,寄發全校教職員的薪資單。讓教職員可以核對入帳金額與薪資單金額。今天突然不能使用原本的一鍵寄送全校教職薪資單程式,而我也忘了該怎麼處理。就想到原本寫的1.只要點兩下,就能寄送全班個人成績單,可以用Python + Gmail 來批次寄送全校教職員薪資單。
        當開心地將程式放置在總務處出納組,執行該程式卻出現這樣的畫面

該畫面告訴我的訊息是 無法啟動程式,因為您的電腦遺失 api-ms-win-core-path-l1-1-0.dll請嘗試重新安裝已修正此問題。
        個性很直的我,決定針對遺失 api-ms-win-core-path-l1-1-0.dll,上網找大神處理。大神給我資料來源1.下載api-ms-win-core-path-l1-1-0.dll 。開心的是資料來源1的網頁底下,還有教學-如何安裝api-ms-win-core-path-l1-1-0.dll 文件? 只要在命令列環境下,打上 
                              regsvr32 api-ms-win-core-path-l1-1-0.dll
然後按Enter 後,大功告成。開心地按照說明執行,結果卻......
該畫面告訴我的訊息是 模組 api-ms-win-core-path-l1-1-0.dll 已經載入,但是卻找不到進入點 DllRegisterServer 。 請確定"api-ms-win-core-path-l1-1-0.dll" 為有效的DLL 或 OCX檔,然後再試一次。然不成我眼花了,再檢查資料來源1的網頁,明明適用於Windows 7   。該畫面如下:


        這下花了三個小時糾結在此,我學乖了。星期五下班時候到了,我決定先下班。
        禮拜一早上上班時,突然意識到該不會是 Python 版本問題。於是找大神問了Win7 可以下載python最高什麼版本?」。獲得的答案竟是 Python 3.8.6 版,3.9.0版就不支援 Win 7。而我用的版本剛好是 3.9.0 。於是,決定重新改用 Windows 7 x64 與 Python 3.8.0 來重新編譯。 
        接下來就開始將Windows 7 x64 安裝在VMware Player 6.0(舊版),接下來安裝Python 3.8.0  。到 https://www.python.org/downloads/release/python-380/   下載,

卻發現Python 3.8.0 無法安裝在Windows 7 x64 SP1。檢查安裝log,發現需要更新套件KB2533625。

 
因為這個套件(KB2533625)無法單獨下載,被整理在微軟彙編的更新KB4457144,其名稱為2018-09 適用於 Windows 7,x64 架構系統的每月安全性品質彙總套件 (KB4457144)。其網址如下:https://www.catalog.update.microsoft.com/Search.aspx?q=KB4457144

接下來,程式編輯器 Visual Studio Code 也需要舊版。我採用 1.50.1。在官網https://code.visualstudio.com/docs/supporting/faq#_previous-release-versions ,可以發現下載舊版的語法:
將上述語法複製貼上到網頁瀏覽器,就可以直接下載。


結語:
1.在出納組電腦點兩下後,為何無法寄出全校教職員薪資單?
   原因在出納組電腦作業系統為 Windows 7 x64 SP1,需改用Python 3.8.6 以前的版本重新編譯。
2. 目前實作,Python編譯環境如下:
(1)虛擬機:VMware Player 6.0
(2)作業系統:Windows 7 x64 SP1
(3)更新套件:KB4457144
(4)Python版本:3.8.01.
(5)Python編輯程式:Visual Studio Code  版本:1.50.1


資料來源:


2023年1月12日 星期四

只要點兩下,就能寄送全校教職員薪資單 for Windows 10 x64



        總務處出納組每月都會在薪資入帳的當日,寄發全校教職員的薪資單。讓教職員可以核對入帳金額與薪資單金額。今天突然不能使用原本的一鍵寄送全校教職薪資單程式,而我也忘了該怎麼處理。就想到原本寫的1.只要點兩下,就能寄送全班個人成績單,可以用Python + Gmail 來批次寄送全校教職員薪資單。

        目前的狀況說明與解決方案如下:
1.薪資單不用另外製作,由原本的程式就可以批次產生。
但批次產生的資料夾名稱為Mail,在Mail資料夾內的批次產生的檔案名稱規則為PayList+入賬當日+"-"+員工編號,例如員工編號11003的人員在2023年01月12日當日入帳的薪資單名稱為PayList20230112-11003。
解決方案:
(1).在專案內,建立資料夾名稱Mail,Mail內有
PayList20230112-11003.txt、PayList20230112-11005.txt、PayList20230112-11007.txt、PayList20230112-11019.txt、PayList20230112-11021.txt、PayList20230112-11022.txt等6筆測試資料。
(2).針對資料夾Mail,讓Python讀取Mail內檔案名稱。

2.需整理出一個Excel檔案,其架構為 員工編號、員工姓名、員工電郵。
那設定該Excel檔案名稱為收件者資料.xlsx。
解決方案:
(1).在專案內,內建收件者資料.xlsx,內有如上圖等6筆資料。
(2).讓Python 讀取收件者資料.xlsx。

3.由於員工請育嬰留職停薪、侍親留職停薪、進修留職停薪等不發薪水情況。
換言之,不可依收件者資料來寄信,而要依薪資單檔案的有無,來決定是否寄發。
解決方案:
(1)刪除Mail內一筆資料,設定不發薪之情況。
(2)以Mail內檔案檔名為準,來核對收件者資料.xlsx

4.要保留信件標題與內文修改的權限。
換言之,要讓承辦人員可以依需要來修改信件標題與信件內文。
解決方案:
(1).內建信件標題.txt,讓Python讀取信件標題.txt。
(2).內建信件內文.txt,讓Python讀取信件內文.txt。

5.要考慮承辦人員的異動。
換言之,要讓承辦人員可以依需要來修改寄件者的電郵與密碼。
解決方案:
(1).內建寄件者電郵與密碼.txt,讓Python讀取寄件者電郵與密碼.txt。

6.最後要知道誰的電郵沒寄。
換言之,要讓承辦人員可以檢核未寄件者的資料。
解決方案:
(1).以Mail內檔案檔名為準,來核對收件者資料.xlsx。
(2).產出未寄信者資料.txt

       現在整理目前的狀況,以一張圖來呈現:

        最後完成程式:
下載檔案。解壓密碼:demo1234
教學影片:



        以下是使用教學,共有五個步驟:
一.若沒有Gmail,請先建立自己的Gmail
二.下載程式與解壓縮
三.設定寄件者電郵與密碼
四.對著01批次寄電郵給教職員_PythonGmail.exe點兩下
        
依序如下:
一.若沒有Gmail,請先建立自己的Gmail
        一次設定





二.下載程式與解壓縮
      解壓縮時,要注意:不能破壞資料夾結構。





.設定寄件者電郵與密碼
        一次設定
        程式預設使用Gmail。若沒有Gmail,請建立Gmail。
        設定兩步驟驗證


        設定 應用程式密碼




檔案名稱:PythonGmail.py
檔案內容:
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import smtplib
from email.mime.image import MIMEImage
from pathlib import Path
from email.mime.application import MIMEApplication
import os
import openpyxl as opxl

class EmailOpenFiles():
    #開啟檔案
   
    def __init__(self,DirectoryName,FileName):
        self.DirectoryName = DirectoryName
        self.FileName = FileName

    def AttachFiles(self):
        #取得附件資料夾內所有檔案名稱並回傳List
        AttachDirPath=str(os.path.abspath(os.getcwd()))+'\\'+self.DirectoryName+'\\'
        AttachFileNameList = os.listdir(AttachDirPath)
        return AttachFileNameList
   
    def EmailFileContent(self):
        #設定信件內容檔名並取得檔案內容並回傳List
        EmailContentFileName = str(os.path.abspath(os.getcwd()))+"\\"+self.FileName
        EmailContentFile = open(EmailContentFileName,'r')
        EmailContentList = EmailContentFile.readlines()
        EmailContentFile.close()
        return EmailContentList
   
    def AttachDirPath(self):
        #取得附件資料夾路徑
        AttachDirPath=str(os.path.abspath(os.getcwd()))+'\\'+self.DirectoryName+'\\'
        return AttachDirPath
   
    def AttachExcelOpen(self):
        #打開附件為Excel檔案並回傳List
        AttachExcelFileName = str(os.path.abspath(os.getcwd()))+"\\"+self.FileName
        TempExcelWorkBook = opxl.load_workbook(AttachExcelFileName)
        TempMax_Row = TempExcelWorkBook.worksheets[0].max_row
        TempMax_Column = TempExcelWorkBook.worksheets[0].max_column
        TempReturnList = []
        for i in range(1,TempMax_Row+1):
            TempList = []
            for j in range(1,TempMax_Column+1):
                TempList.append(TempExcelWorkBook.worksheets[0].cell(i,j).value)
            TempReturnList.append(TempList)
        return TempReturnList

class PythonGmail():
    def __init__(self,EmailSubject,EmailFrom,EmailTo,EmailContent,EmailAttachments,EmailSender,EmailPass):
        self.EmailSubject = EmailSubject
        self.EmailFrom = EmailFrom
        self.EmailTo = EmailTo
        self.EmailContent = EmailContent
        self.EmailAttachments = EmailAttachments
        self.EmailSender = EmailSender
        self.EmailPass = EmailPass
   
    def PythonGmail(self):
        #建立MIMEMMultipart物件
        content = MIMEMultipart()
        #郵件標題
        content["subject"] = self.EmailSubject
        #寄件者Email
        content["from"] = self.EmailFrom
        #收件者Email
        content["to"] = self.EmailTo
        #郵件內容
        content.attach(MIMEText(self.EmailContent))
       
        #附件寄送檔案
        AttachFileName = self.EmailAttachments
        AttachFileload = MIMEApplication(open(AttachFileName,'rb').read())
        AttachFileload.add_header('Content-Disposition','attachment',filename=AttachFileName)
        content.attach(AttachFileload)
       
        #設定SMTP伺服器
        with smtplib.SMTP(host="smtp.gmail.com",port="587") as smtp:
            try:
                #驗證SMTP伺服器
                smtp.ehlo()
                #建立加密傳輸
                smtp.starttls()
                #登入寄件者Gmail
                #smtp.login("寄件者信箱","寄件者密碼")
                smtp.login(self.EmailSender,self.EmailPass)
                #寄送郵件
                smtp.send_message(content)
                #顯示訊息
                return "Success! Send OK!"
            except Exception as e:
                return "Error message:"+str(e)

#取得附件資料夾內所有檔案名稱
EmailAttachments = EmailOpenFiles('Mail','').AttachFiles()
#取得附件資料夾的絕對路徑
EmailAttachDirPath = EmailOpenFiles('Mail','').AttachDirPath()

#取得信件標題檔案內容並存成信件標題list
EmailSubjectlist = EmailOpenFiles('','信件標題.txt').EmailFileContent()
#從信件標題list取得信件標題字串
EmailSubject = EmailSubjectlist[0]

#取得信件內容檔案內容並存成信件內容list
EmailContentlist = EmailOpenFiles('','信件內文.txt').EmailFileContent()
#從信件內容list取得信件內容字串
EmailContent = ""
for i in EmailContentlist:
    EmailContent = EmailContent + i

#從寄件者電郵與密碼.txt取得List
EmailSenderAddrList = EmailOpenFiles('','寄件者電郵與密碼.txt').EmailFileContent()
#去除List[0]標題
EmailSenderAddrList.pop(0)
#取得寄信者email與密碼
EmailSender,EmailPass = EmailSenderAddrList[0].split(',')

#從收件者資料.xlsx 取得List
EmailToList = EmailOpenFiles('','收件者資料.xlsx').AttachExcelOpen()
#去除List[0]標題
EmailToList.pop(0)
 
#未寄信者集合 tempSet
tempSet = set()
#依現有附件資料比對收件者資料,比對成功者逐一寄信
for i in EmailToList:
    A1,A2,A3 = i
    #將該員工編號加入未寄信者集合 tempSet
    tempSet.add(int(A1))
    for j in EmailAttachments:
        if int(A1) == int(j[-9:-4]):
            #EmailTest=PythonGmail(EmailSubject,EmailSender,A3,EmailContent,EmailAttachDirPath+j,EmailSender,EmailPass).PythonGmail()
            #print(str(A1)+" "+str(A2)+" Email "+ EmailTest)
            #將未寄信者集合tempSet移除該員工編號
            tempSet.remove(int(A1))

# 將未寄信者資料寫入 未寄信者資料.txt
OutFileName = '未寄信者資料.txt'
f = open(OutFileName,'w')
for i in tempSet:
    for j in EmailToList:
        A1,A2,A3 = j
        if int(i) == int(A1):
            print(str(A1)+"  "+str(A2)+"  "+str(A3),file=f)
f.close()

os.system("pause")
os.system("exit")




資料來源:





        

2022年12月19日 星期一

只要點兩下,就能讓Win10擁有相片檢視器且完成觀看LINE下載圖片的設定


       自從發表只要變更設定,就能讓相片顯示器可以看LINE下載的圖片後,心想可不可以[只要點兩下,就能讓Win10擁有相片檢視器且完成後續設定]。不然,經過系列文章1、2之後,點完兩下後,還要做設定。覺得很麻煩,一點都不方便。有沒有更快的方法?
下載檔案解壓密碼:demo1234
使用步驟教學:

       看完資料來源1.[Fix] Error “Windows Photo Viewer can’t display this picture”後,發現底下有一行字關於Registry。其內容如下:
Windows Registry Editor Version 5.00

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM\RegisteredProfiles]
"sRGB"="RSWOP.icm"
好奇的我就同時打開Regedit,將HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM\RegisteredProfiles貼上

 
與控制台->色彩管理->進階,進行比對。
比對之後,發現 
,這樣我真的太高興了,這樣我就可以寫進BAT。
 
程式目的:只要點兩下,就能讓Win10擁有相片檢視器且完成後續設定
檔案名稱:PhotoViewerAndColorManagementSetting.BAT
檔案內容:
 @echo off
REM ---------------以下是程式碼,不需更改---------------
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
REM 設定照片檢視器 PhotoViewerSetting
set regpath=HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Photo Viewer\Capabilities\FileAssociations
@reg add "%regpath%" /v ".jpeg" /d "PhotoViewer.FileAssoc.Tiff" /t REG_SZ /f
@reg add "%regpath%" /v ".jpg" /d "PhotoViewer.FileAssoc.Tiff" /t REG_SZ /f
@reg add "%regpath%" /v ".png" /d "PhotoViewer.FileAssoc.Tiff" /t REG_SZ /f
@reg add "%regpath%" /v ".bmp" /d "PhotoViewer.FileAssoc.Tiff" /t REG_SZ /f
REM 設定顏色管理 ColorManagementSetting
set regpath=HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ICM\RegisteredProfiles
@reg add "%regpath%" /v "sRGB" /d "RSWOP.icm" /t REG_SZ /f
pause
exit

資料來源:
1.[Fix] Error “Windows Photo Viewer can’t display this picture”
https://www.winhelponline.com/blog/error-windows-photo-viewer-cant-display-this-picture-no-memory/

2022年12月17日 星期六

只要變更設定,就能讓相片檢視器可以看LINE下載的圖片

       自從發表了只要點兩下,就能讓Windows 10 擁有Windows 7 的相片檢視器,很多網友分享問題與建議。問題是無法檢視LINE傳來的圖片,建議則是改用其他圖片檢視器,如Honeyview、Imagine看圖軟體、內建的相片等。那我要如何解決這個問題?找大神的結果是Windows 相片檢視器對於 jpg 圖片檔案 icc_profile 相容性問題。那只要一次設定即可。

       照片檢視器無法檢視從LINE下載的圖片,會出現這樣的畫面:

       影片教學:

       解決方式:

設定完成後,就可以看到圖片了





2022年12月15日 星期四

只要點兩下,就能讓Windows 10 擁有Windows 7 的相片檢視器

系列文章:
https://skjhcreator.blogspot.com/2022/12/win10.html
4.只要點兩下,免傳輸線,就能讓學生透過QRcode來傳送IPAD或平板內的檔案
 
       最近同事問我,在Windows 10 的桌機,怎麼找不到照片檢視器?有沒有辦法讓其有照片檢視器。沒有照片檢視器,只能用小畫家,感覺很不方便。
        為了解決這個問題,找了大神幫忙。大神找到資料來源1.Windows相片檢視器下載安裝、設定方法教學 在Win 10找回Win 7相片檢視器。看完之後,要設定Registry。但是,步驟很多而且要仔細看,才能完成設定。希望能用滑鼠點兩下,就完成設定。

        A colleague recently asked me, why can't I find the photo viewer on my Windows 10 desktop? Is there a way to make it have a photo viewer. Without a photo viewer, you can only use Little Painter, which feels very inconvenient.
        In order to solve this problem, I asked God for help. God found the source of the information 1. Windows photo viewer download and installation, setting method teaching Retrieve Win 7 photo viewer in Win 10. After reading, to set the Registry. However, there are many steps and you have to watch carefully to complete the setup. I hope to complete the setting with two clicks of the mouse.
下載檔案解壓密碼:demo1234
使用步驟教學:

程式說明:只要點兩下,就能讓Windows 10  擁有Windows 7 的照片檢視器
檔案名稱:PhotoViewerSetting.bat
檔案內容:
@echo off
REM ---------------以下是程式碼,不需更改---------------
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
REM 設定照片檢視器
set regpath=HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Photo Viewer\Capabilities\FileAssociations
@reg add "%regpath%" /v ".jpg" /d "PhotoViewer.FileAssoc.Tiff" /t REG_SZ /f
@reg add "%regpath%" /v ".png" /d "PhotoViewer.FileAssoc.Tiff" /t REG_SZ /f
@reg add "%regpath%" /v ".bmp" /d "PhotoViewer.FileAssoc.Tiff" /t REG_SZ /f
pause
exit



2022年12月6日 星期二

只要點兩下就能一次完成安裝所有印表機與設定所有印表機

系列文章:

        感恩頂番國小的資訊組長-李清展老師的分享。使用圖形介面匯出、匯入所有印表機安裝與設定。如果能夠用批次檔匯入匯出會更好。換言之,只要點兩下就能完成所有印表機安裝與設定。
        原本用BAT一鍵完成印表機安裝驅動,讓學校老師在自己的筆電可以快速安裝印表機。但隨著印表機設定越來越複雜,老師安裝完印表機後還要調整印表機設定。原本BAT卻不能讓老師省卻印表機設定的步驟。因此,需要更方便的方法,讓老師能夠一次完成所有的設定。
下載檔案解壓密碼:demo1234
使用步驟教學:

單機測試步驟:
1.下載檔案,解壓縮。解壓密碼:demo1234
2.匯出印表機設定檔->點選ExportPrinterConf.BAT
3.刪除印表機
4.匯入印表機設定檔->點選ImportPrinterConf.BAT

使用步驟:
1.在樣本機安裝所有的印表機與完成印表機的設定
2.在樣本機,下載InstallPrinter並完成解壓縮。
3.在InstallPrinter資料夾內(亦有可能為InstallPrinter\InstallPrinter資料夾內),對ExportPrinterConf.BAT點兩下,匯出印表機設定檔到config資料夾
3.將整個資料夾InstallPrinter帶到新的電腦的桌面
4.在InstallPrinter資料夾內(亦有可能為InstallPrinter\InstallPrinter資料夾內),對ImportPrinterConf.BAT點兩下,匯入config資料夾內的印表機設定檔


程式目的:匯出所有印表機設定檔到所在的資料夾內的config
程式名稱:ExportPrinterConf.BAT
程式內容:
@echo off
REM ---------------以下是程式碼,不需更改---------------
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
%SystemRoot%\System32\spool\tools\PrintBrm.exe -b -f %~dp0\config\AllPrinterConfig

程式目的:匯入config資料夾內所有印表機設定檔
程式名稱:ImportPrinterConf.BAT
程式內容:
@echo off
REM ---------------以下是程式碼,不需更改---------------
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
%SystemRoot%\System32\spool\tools\PrintBrm.exe -r -f %~dp0\config\AllPrinterConfig


資料來源:

只要點兩下就能將 彰化縣EIP系統全校學生帳號總表 依 各班級 分成 各班級學生帳號總表

系列文章: 1. 只要點兩下就能產出彰化縣Cloud School 學生帳號密碼匯入彰化縣EIP系統學生帳號密碼的CSV 1. https://skjhcreator.blogspot.com/2025/08/cloud-school-eipcsv.html 2. 只要點兩下就能...