Quantcast
Channel: 簡睿隨筆
Viewing all 897 articles
Browse latest View live

用AutoHotkey批次快速轉檔:將PDF轉換為文字檔、doc檔等格式

$
0
0

功能說明

  1. 使用COM物件Word.Application,將PDF檔轉換為指定的檔案格式
  2. 整批轉換資料夾裡的所有PDF檔

相關連結

  • 輸出檔案格式代碼:https://docs.microsoft.com/zh-tw/office/vba/api/word.wdsaveformat

PDFConv.ahk

解說影片

##

您可能也會有興趣的類似文章


用AutoHotkey批次快速轉檔:將Word檔轉換為PDF格式

$
0
0

功能說明

  1. 使用COM物件Word.Application,將DOCX檔轉換為PDF格式
  2. 整批轉換資料夾裡的所有DOCX檔
  3. 使用ExportAsFixedFormat方法

相關連結

Docx2Pdf.ahk

解說影片

##

您可能也會有興趣的類似文章

用AutoHotkey批次快速轉檔:命令行轉檔,可使用萬用字元

$
0
0

功能說明

  1. 由命令行傳入輸入與輸出檔名,依指定格式做轉換
  2. conv.ahk有兩種模式

    • conv.ahk 輸入路徑檔名 輸出路徑檔名
      必須含有資料夾,否則會出錯。輸出路徑無資料夾時會寫至 C:\Users\帳號\Documents
    • conv.ahk 輸入路徑檔名有星號 輸出副檔名
      將輸入資料夾裡符合的檔案轉換成輸出副檔名格式
  3. 使用COM物件Word.Application執行轉檔處理
  4. 目前不處理Excel檔案

程式說明

  1. 命令行參數存放於內建變數A_Args
    1. 參數個數:A_Args.Length()
    2. 第一個參數值:A_Args[1]
    3. 第二個參數值:A_Args[2], …
  2. InStr(字串, 搜尋的子字串)傳回子字串的位置值
  3. Substr(字串, 起始位置, 長度)取子字串

注意事項

  1. 可使用AutoGUI的Debug功能以逐步追蹤腳本程式邏輯
  2. 執行時發生錯誤後,記得由工作管理員裡終止Word應用程式

相關連結

conv.ahk

解說影片

##

您可能也會有興趣的類似文章

用AutoHotkey批次快速轉檔:使用GUI圖形介面

$
0
0

將檔案格式轉換處理加上圖形介面。

img

功能說明

  1. 以AutoHotkey的GUI控制撰寫GUI應用,多選輸入檔案,再指定輸出目錄與格式,可整批轉換檔案格式
  2. 使用COM物件Word.Application執行轉檔處理
  3. 目前不處理Excel檔案(使用Excel.Application。參考:使用AutoHotkey讀取Excel檔案的簡單說明

重點說明

AutoHotkey的開啟檔案指令是FileSelectFile,開啟資料夾則是FileSelectFolder。

開啟檔案

  • FileSelectFile語法

    FileSelectFile, OutputVar [, Options, RootDir\Filename, Prompt, Filter]

  • options:
    M: 多檔選擇
    S: 對話窗以〔存檔〕按鈕取代〔開啟〕按鈕
  • M選項後可加類型參數:
    • 1: File Must Exist
    • 2: Path Must Exist
    • 8: Prompt to Create New File
    • 16: Prompt to Overwrite File
    • 32 [v1.0.43.09+]: Shortcuts (.lnk files) are selected as-is rather than being resolved to their targets. This option also prevents navigation into a folder via a folder shortcut.

M:用換行符號分隔,在迴圈裡A_Index=1時,A_LoopFiled是資料夾名稱,A_Index >= 2則是選取的檔案名稱(無資料夾)。

Loop, parse, files, `n 
  {
    if (A_Index = 1) {
      ;MsgBox, The selected files are all contained in %A_LoopField%.
      sInputFolder = %A_LoopField%
    } else {
      _iCount++
      ;MsgBox, 4, , The next file is %A_LoopField%.  Continue?
      _sFilename := sInputFolder . "\" . A_LoopField
      aFiles.push(_sFilename)
      _sSelected := _sSelected . _sFilename . "`n"
      IfMsgBox, No, break
    }
  }

開啟資料夾

  • FileSelectFolder語法

    FileSelectFolder, OutputVar , StartingFolder, Options, Prompt

控制綁定步驟

  1. 對控制命名:以v開頭,v後面的名稱即為控制的名稱。存值到控制:GuiControl,, 控制名稱, 值,例如對話窗裡有一個 vEdtName 控制:
GuiControl,, EdtName, %sName%
  1. 設定控制的處理程序:以g開頭,檔案內要有g後面的名稱加冒號的處理程序

注意事項

  1. 可使用AutoGUI的Debug功能以逐步追蹤腳本程式邏輯
  2. 執行時發生錯誤後,記得由工作管理員裡終止Word應用程式

相關連結

convGUI.ahk與convertFile.ahk

▼ convGUI.ahk

▼ convertFile.ahk

解說影片

##

您可能也會有興趣的類似文章

AutoHotkey Instant HotString小工具

$
0
0

Instant HotString是使用AutoHotkey寫成的製作熱字串工具。

img

功能說明

  • 輸入熱字串和長文字,勾選選項再按確定
  • 用存檔存入.ahk檔案
  • 用載入將存檔了的.ahk重新載入來修改

解說影片

##

您可能也會有興趣的類似文章

AutoHotkey的進階剪貼簿功能:WinClip類別

$
0
0

使用WinClip達成內建剪貼簿功能無法達到的功能。

內建的Clipboard

要取得被選取文字時必須先送出〔Ctrl+c〕將字串複製到系統剪貼簿。

^+g::
  current_clipboard = %Clipboard%   ; 把目前的剪貼簿內容存起來供後面還原
  Send ^c   ; 把選取字串用〔Ctrl+C〕存入剪貼簿
  ClipWait,1
  ; 下行使用Google執行搜尋動作,要搜尋的字串就是剪貼簿內容
  Run http://www.google.com.tw/search?hl=zh-TW&q=%Clipboard%
  Clipboard = %current_clipboard%   ; 還原先前的剪貼簿內容
  return

範例

在瀏覽器選取一個英文單字,按〔Ctrl+Alt+T〕後開啟英翻中網站,直接顯示單字的中文釋義

  • 困難點:如何在不影響現有系統剪貼簿而取得被選取文字?

選取文字若不存入剪貼簿則AutoHotkey無法取得內容。內建功能無法達成此需求,只能使用WinClip類別。

WinClip的使用

  1. 下載 WinClip
    1. 作者網站下載 WinClip.zip
    2. 解壓縮到本機
  2. 引入winclipAPI.ahk與WinClip.ahk
#include 解壓縮資料夾/WinclipAPI.ahk
#include 解壓縮資料夾/Winclip.ahk
  1. 有兩種使用WinClip函數的方法
    • 靜態方法:可想像為共用的唯一系統剪貼簿
    • 實例方法:可視為自訂的剪貼簿,不影響系統剪貼簿的內容
    • 範例:
  ; 靜態使用方法,不必定義WinClip實例
  WinClip.Copy() 
  text := WinClip.GetText()  ; 取得剪貼簿最後一項之內容

  ; 實例使用方法,必須宣告並定義WinClip,函數名稱多一個 i
  wc := new WinClip
  wc.iCopy()  ; 複製選取文字到專屬空間
  text := wc.iGetText()  ; 由當前實例的空間取出剪貼簿內容

選取文字

^!t::
  wc := new WinClip
  wc.iCopy()
  t := wc.iGetText()
  ;;MsgBox text=%t%
  Run https://tw.dictionary.search.yahoo.com/search?p=%t%&fr=sfp&iscqry=
  return

相關連結

test19.ahk

解說影片

##

您可能也會有興趣的類似文章

用AutoHotkey搜尋網頁取回、解析以取得需要的內容

$
0
0

  • 目標:選取英文單字後,按鍵取回Yahoo奇摩字典的中文翻譯
  • 作法說明,使用兩個COM物件:

    • WinHttp.WinHttpRequest.5.1
    • HTMLFile

相關連結

test20.ahk

解說影片

##

您可能也會有興趣的類似文章

NotePad++ GitHub網頁慘遭洗版

$
0
0

NotePad++是很多人使用的免費程式編輯器,最近更新了新的Logo和釋出新版,同時遭到對岸洗版…

github

##

您可能也會有興趣的類似文章


用AutoHotkey擷取螢幕並存成檔案-簡單的截圖操作

$
0
0

擷取螢幕需要調用Windows API,比較複雜,其實有不少優秀的截圖工具,例如GreenShootPicPick等,如果沒有特殊原因,直接使用這些工具就可以了。

我們用最簡單的方法來達成AutoHotkey的截圖操作,就是使用Windows 7之後就內建的SnippingTool.exe。細節請參考解說影片。

test21.ahk

AutoHotkey截圖的相關連結

解說影片

##

您可能也會有興趣的類似文章

AutoHotkey的Excel.Application操作重點

$
0
0

  • 網頁自動化(使用Selenium WebDriver)擷取網頁內容並新增至Excel工作表
  • 建立COM物件

; 建立新的Excel應用程式物件
excelApp := ComObjCreate("Excel.Application") 

; 建立已有的Excel應用程式物件(Excel已開啟)
excelApp := ComObjActive("Excel.Application") ;creates a handle to your currently active excel sheet
  • 開啟活頁簿(Workbook)
if FileExist(sFilename) {  ; 開啟已存在的活頁簿
  workBook := excelApp.Workbooks.Open(sFilename)   ;opens the existing Excel table
} else {
  isNew := True
  excelApp.Workbooks.Add  ; 新增活頁簿
}
excelApp.Visible := True  ; 執行時顯示Excel內容
  • 儲存格操作
excelApp.Range("A1").Value := "第一格"
workBook.ActiveSheet.Range("B1").Value := "第二格"
  • 儲存格屬性
excelApp.Range("A1").Font.Bold := 1  ; 1=True
excelApp.Range("A1").Font.ColorIndex := 3  ; 3=Red
excelApp.Range("A1").Interior.ColorIndex := 35  ; 背景色
; -4131=Left, -4108=Center, -4152=Right
excelApp.Range("A1").HorizontalAlignment := -4108
excelApp.Range("A1").NumberFormat := "#,##0.00"
excelApp.Range("A3").Formula := "=SUM(A1:A2)"
  • 範圍操作
excelApp.ActiveSheet.Columns("A").ColumnWidth := 20
excelApp.Range("A:Z").Clear()  ; 清除格式與內容
excelApp.Range("A:Z").ClearContents()  ; 清除內容

ColorIndex 屬性 (Excel 圖表)

  • 迴圈一列
Row := "1"
Columns := Object(1,"A",2,"B",3,"C",4,"D",5,"E",6,"F",7,"G",8,"H",9,"I",10,"J",11,"K",12,"L",13,"M",14,"N",15,"O",16,"P",17,"Q") ;array of column letters
For Key, Value In Columns
  XL.Range(Value . Row).Value := value ;set values of each cell in a row
  • 常用物件
物件 功用
Workbooks 活頁簿集合
Worksheets 所有工作表集合
Worksheets(“工作表1”) 指名的工作表
ActiveWorkbook 作用中的活頁簿
Sheets(n) 第n張工作表
ActiveSheet 作用中的工作表
Columns(“c1:c2”) c1至c2直欄
Rows(“r1:r2”) r1至r2橫列
Range(“x1:x2”) x1至x2的儲存格
Cells(r, c) 第r橫列、第c直欄的儲存格
ActiveCell 目前的儲存格
Selection 目前所選取的物件

相關連結

腳本程式原始碼

  • excel1.ahk

  • excel2.ahk

解說影片

<

p>##

您可能也會有興趣的類似文章

AutoHotkey-網頁自動化Selenium WebDriver安裝

$
0
0

網頁自動化的工具選擇

AutoHotkey有多種處理網頁自動化的方法:

vb=
wb := ComObjCreate("InternetExplorer.Application") ; create IE

Selenium WebDriver是什麼

Selenium WebDriver是Selenium工具集合的一種。Selenium是使用於網頁自動化測試的工具集合,集合裡有下列兩種:

  • Selenium IDE:Chrome瀏覽器與FireFox瀏覽器的擴充,用來錄製網頁操作的動作,錄製後即能再次播放
  • Selenium WebDriver:提供API供測試程式調用以控制瀏覽器進行測試功能,常見的支援語言有Java、C#、Python等。AutoHotkey透過Selenium Basic的COM物件來達到整合功能
  • Selenium Remote Control:不再開發了
  • Selenium Grid:在多台機器上,同時啟動多個瀏覽器對Web應用程式作測試。參考:Grid2 · SeleniumHQ/selenium Wiki

Selenium Basic安裝

要讓AutoHotkey或VB等使用Selenium WebDriver,安裝步驟如下:

  1. 安裝Selenium Basic
  2. 安裝需要的瀏覽器Driver,如ChromeDriver、FirefoxDriver等
  3. Chrome瀏覽器建議再安裝XPath CSS Explorer

1. 安裝Selenium Basic

2. 安裝瀏覽器WebDriver

下載使用的瀏覽器WebDriver並安裝到 C:\Program Files\SeleniumBasic\(Selenium Basic的安裝目錄):

其他瀏覽器的WebDriver與各式程式語言的開發套件可由Downloads找到。

注意事項

  • IE瀏覽器的縮放比必須為100%
  • ChromeDriver.exe有多個版本(例如本文撰寫時有77、78、79等3個版本),務必與你使用的瀏覽器版本匹配
  • 要正確取得特定元素,注意瀏覽器的AdblockPlus是否有啟用
  • Chrome瀏覽器:如果執行時出現下列錯誤,則用WebDriver.setBinary(“Chrome.exe的路徑”)直接指定Chrome.exe的完整路徑:

start failed

第一次執行

test23_selenium.ahk原始碼:

相關連結

解說影片

##

您可能也會有興趣的類似文章

AutoHotkey-網頁自動化Selenium WebDriver由實例學習常用功能(使用XPATH CSS Explorer擴充)

$
0
0

範例:搜尋PCHome線上購物,將查詢的商品逐一開啟其訊息網頁

以ChromeDriver為例。

建立WebDriver物件並瀏覽網頁

driver := ComObjCreate("Selenium.ChromeDriver")

; 指定chrome.exe路徑
driver.setBinary("C:\Program Files (x86)\Google\Chrome\Application\chrome.exe")

; 設定新的執行環境
driver.SetProfile("z:\chrome")

; addArgument設定Chrome啟始狀態
driver.addArgument("start-maximized")
;driver.addArgument("headless")  ; 不顯示Chrome視窗
driver.addArgument("no-sandbox")
driver.addArgument("disable-gpu")
driver.addArgument("disable-infobars")  ; --disable-infobars is no longer supported since v76

; 下載目錄設定
;driver.setPreference("download.default_directory", "C:\temp")
;driver.setPreference("download.directory_upgrade", true)
;driver.setPreference("download.extensions_to_open", "")
;driver.setPreference("download.prompt_for_download", false)
;driver.SetCapability("debuggerAddress", "127.0.0.1:9222")

driver.get("要瀏覽的網址")

; 瀏覽器開啟後再變更狀態
;Driver.Window.Maximize()
;driver.window.setSize(800,600)

尋找網頁上的元素

尋找到的元素其類別是WebElement。

element := driver.findElementByName("用name屬性尋找")
element := driver.findElementByID("用id屬性尋找")
element := driver.findElementByTag("用HTML標籤尋找")
element := driver.findElementByClass("用class屬性尋找")
element := driver.findElementByCss("用CSS選擇器尋找")
element := driver.findElementByLinkText("用超連結的文字尋找")
element := driver.findElementByPartialLinkText("用超連結的部份文字尋找")
element := driver.findElementByXPath("用XPATH尋找")
  • 將findElementBy… 改成 findElementsBy… 就能取多個符合的元素(取得List)

XPath是什麼?

XPath,全稱為XML Path Language,即 XML路徑語言,它是在XML文件中尋找訊息的语言,除了搜尋XML檔,也適用搜尋HTML文件。

XPath CSS Explorer

可安裝類似XPath CSS Explorer之類的瀏覽器擴充,以方便查詢出頁面元素的CSS或XPath。

操作步驟:
1. 按〔F12〕進入DevTools模式
2. 用右鍵功能表→【檢查】,或DevTools最左邊的按鈕選取要查詢的元素
3. 點擊DevTools最右側的〔●●●〕,再按【XPath CSS Explorer】頁籤
4. 在【Current selector】下方複製需要的CSS或XPath

WebElement的常用方法

  • SendKeys(第一個按鍵 [,第二個按鍵])
  • Click(按鍵)
driver.FindElementByID("keyword").SendKeys("MSI Prestige 14")
driver.FindElementByID("doSearch").Click()

test24_selenium3.ahk

解說影片

##

您可能也會有興趣的類似文章

AutoHotkey-Selenium WebDriver系統架構與功能說明文件

$
0
0

WebDriver系統架構

arch

WebDriver功能說明文件

網上的Selenium WebDriver說明檔案大多是 Java或Python的,而Basic使用的WebDriver功能眾多,要由何處取得進一步說明文件呢?

就我所知較完整的功能說明是:Selenium.chm

常用的類別舉例

  • ChromeDriver:Chrome瀏覽器物件
  • By:藉由那種方式取得頁面元素
  • WebElement:頁面元素
  • WebElements:頁面元素集合

test25_selenium.ahk

解說影片

##

您可能也會有興趣的類似文章

AutoHotkey-Selenium WebDriver查詢頁面元素方法彙總

$
0
0

查詢頁面元素的技巧

1. driver.findElementBy…

…為Name, Id, Tag, Class, CSS, LinkText, PartialLinkText, XPath等
明確尋找方式時直接使用

2. By與findElement

By.查詢方法(查詢元素字串)
查詢方法有方法一的8種,再加上 Any,

By := ComObjCreate("Selenium.By")

element := driver.findElement(By.CSS("CSS字串"))

byAny := By.Any(By.Id("stock_id"), By.Name("stock_id"))

element := driver.findElement(byAny)

判斷元素是否存在的方法

  1. WebElement的IsPresent特性
element := driver.findElementByID("stock_id")

isPresent := element.IsPresent

實際執行時,若網頁沒有被尋找的元素時就會跳出錯誤訊息。使用額外參數以避免錯誤訊息:

element := driver.findElementByID("stock_id", iTimeout, 是否彈出錯誤訊息)
  1. WebElements的Count特性
elements := driver.findElementsByName("stock_id")

iCount := elements.Count
isPresent := (iCount > 0)
  1. driver.Until()

語法:

driver.until(判斷用函數, 逾時毫秒數)

AutoHotkey的函數物件

fn := Func(“函數名稱”)
fn := Func(“函數名稱”).bind(參數)

fnIsPresent1 := Func("isExistByID").bind("stock_id")
driver.until(fnIsPresent1, 10000)

fnIsPresent := Func("isExist").bind(By.ID("stock_id")
driver.until(fnIsPresent, 10000)

IsExistByID(sStockID) {
  ele := driver.findElementByID(sStockID)
  return ele.IsPresent
}

IsExist(by) {
  ele := driver.findElement(by)
  return ele.IsPresent
}
  1. Waiter物件

有更多的等待方法可使用。

test26_selenium5_until.ahk

解說影片

##

您可能也會有興趣的類似文章

AutoHotkey-Selenium WebDriver使用Image自動貼圖到Word文件

$
0
0

List與Image物件

List

list := ComObjCreate("Selenium.List")
;image := ComObjCreate("Selenium.Image")
sDir := "c:\temp\screen"



Loop %sDir%\*.* {
  list.add(A_LoopFileName)
}
list.sort()

Image

Image無法以ComObjCreate()建立,但我們可以由 driver.takeScreenshot()取得

image := driver.TakeScreenshot(100)

常用的方法:

  • load
  • copy(用完是否釋放空間)

=
image1 := image.Load("c:\temp\screen\" + sFilename)
image1.Copy(true) ; copy to clipboard; true=Auto dispose
word.Selection.PasteSpecial

test27_selenium6_image.ahk

解說影片

##

您可能也會有興趣的類似文章


AutoMirror:投射Android手機螢幕到Windows螢幕的工具

$
0
0

封裝scrcpy以方便投射Android手機螢幕到Windows螢幕的工具:AutoMirror。

✅ 執行檔與原始碼:https://github.com/DizzyduckAR/AutoMirror
✅ AutoHotkey安裝介紹影片:https://youtu.be/Q9J5XZcp1o8
✅ ScrCpy介紹影片:https://youtu.be/WkTd5OxDZ-8

影片中Wifi連接的方式說錯了,要先用〔Grab IP And Port 5555〕取得Android的IP再修改下方的IP,最後再按〔Connect〕。

解說影片

##

您可能也會有興趣的類似文章

使用AutoHotkey彈出對話窗,依回應執行不同動作

$
0
0

在Windows彈出對話窗以取得回應,再依選擇執行不同的動作。有多種方法,我們主要使用AutoHotkey來實作。

1. 系統內建的 choice.exe

Windows內建選擇的命令:choice.exe,用/?即能顯示用法:

d:\>choice /?

CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]

描述:
    這個工具可以讓使用者從一些選擇中
    選取一個項目,並傳回所選項目的索引。

參數清單:
   /C    choices       指定要建立的選擇清單。
                       預設清單是 "YN"。

   /N                  將選擇清單隱藏在提示中。
                       已經顯示提示之前的訊息,
                       選擇仍在啟用中。
...                       

例如:

CHOICE /T 10 /C YNC /D Y /M "按是(Y)、否(N)或取消(C)。"
if errorlevel==3 goto CANCEL
if errorlevel==2 goto NO
if errorlevel==1 goto YES
goto END

:CANCEL
  echo 按了 C
  goto END

:NO
  echo 按了 N
  goto END

:YES
  echo 按了 Y
  goto END

:END
  • /T 等待秒數,超過設定秒數則選擇/D的預設按鍵
  • /C 是能選擇的按鍵,只能選擇Y、N與C
  • /D 預設值是 Y
  • /M 顯示提示訊息

2. AutoHotkey的MsgBox

yesno.bat批次檔範例:

batch=
@echo off
yesno.ahk
rem echo ErrorLevel=%ErrorLevel%
if %ErrorLevel%==1 echo 選擇了 Yes
if %ErrorLevel%==2 echo 選擇了 No
if %ErrorLevel%==3 echo 選擇了 Cancel

3. 用AutoHotkey的GUI

使用AutoHotkey的GUI設計工具來產生視窗。範例如下:

解說影片

##

您可能也會有興趣的類似文章

[Batch#1] Windows批次檔-取得系統日期的簡單方法與環境變數字串操作 (初學者的命令行 #5)

$
0
0

雖然Windows有了Windows Terminal和PowerShell等腳本工具,但批次檔在簡單的需求狀況下還是很方便的選擇。

系統日期在產生備份檔等場合很常用,本文介紹批次檔裡取得系統日期的方法。

DATE環境變數

系統日期可由DATE環境變數取得,在DATE前後加上 % 即可取出其值:

d:\>echo %DATE%
2019/12/15

DATE的值受日期格式設定而有不同,可能是2019/1/2或2019/01/02等值,為了方便取成固定格式,最好把日期格式改成不足10的數字左補零的格式。以下指令皆預設日期格式固定為YYYY/MM/DD,長度為10個字元。

變更日期與時間格式必須透過控制台來修改,或使用下列批次檔直接變更登錄的值:

▼ date-fmt.bat

取出年、月、日

環境變數有下列幾種字串替換的操作:

  1. 取代:用冒號和等號

格式:環境變數:字串1=字串2
功能:把環境變數值的[字串1]替換成[字串2]

▼ 把日期的斜線換成星號

echo %DATE:/=*%
2019*12*15

▼ 把日期的斜線都刪掉

echo %DATE:/=%
20191215

通常我們都會拿YYYYMMDD這樣的日期來用,因為Windows命令的參數選項都是以 / 來指定的,因此最好不用使用帶有斜線的參數。

  1. 取子字串:用 ~ 和 ,

格式:環境變數:~開始位置[,長度]
開始位置由 0 起算 (Zero-based)
開始位置若為負值,表示由結尾向前
功能:環境變數的子字串操作

▼ 取日期變數的系統日(最後兩個字元)

echo %DATE:~-2%
15

備份檔是1至31日循環時,就能使用日數的方法。例如:

set DAY=%DATE:~-2%

"c:\Program Files\7-zip\7z.exe" a s:\backup\data-%DAY%.7z d:\backup\*.dat

另外,如何求出昨天或明天的日數呢?環境變數要運算只要使用set /A 即可。

set TODAY=%DATE:~-2%

set /A PREVDAY=%TODAY%-1
set /A NEXTDAY=%TODAY%+1

echo %PREVDAY%
14

echo %NEXTDAY%
16

▼ 取出月份(由第6個字元開始取2個字元)

echo %DATE:~5,2%
12

▼ 取出年度

echo %DATE:~0,4%
2019

解說影片

##

您可能也會有興趣的類似文章

[Batch#2] 三個方便的Windows批次檔範例 (初學者的命令行 #6)

$
0
0

介紹應用於主機端的批次檔範例,批次檔在實務上有幾個建議:

  1. 執行過程最好留下記錄,以方便日後追查問題
  2. 批次放置於固定位置,以方便維護與交接

1. 定時重啟服務

搭配定時排程工作和批次檔,可以在指定的時間重啟服務。

假設每天早上6:30要重啟Apache Web Server,用net stop停止服務,等待30秒後再用net start啟動服務:

▼ restart_apache.bat

2. 開發環境裡啟動特定服務

在個人的開發電腦將MSSQLServer服務將啟動類型變更為手動,有需要使用本地資料庫時再用批次檔啟動,此方法可加速開機時間與記憶體使用。諸如Oracle、MySQL等服務皆可使用此技巧。

▼ restart_mssql.bat

3. 每日備份資料

用set命令取出當日日期當做備份檔名,複製到NAS後刪除主機硬碟內的備份檔。
備份周期為月,可使用%DATE:~-2%取出日期(日期格式必須是yyyy/MM/dd),周期為週則使用%DATE:\~-1%

▼ backup_mysql.bat

解說影片

##

您可能也會有興趣的類似文章

SmartGit的安裝與設定

$
0
0

Git是一個很多開發者使用的分散式版本控制系統,除了使用命令行來操作Git外,市面上有許多的GUI Git Client,例如:

解說影片

##

您可能也會有興趣的類似文章

Viewing all 897 articles
Browse latest View live