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

dir (DIRectrory)命令 顯示目錄裡的檔案 (初學者的命令行 #3)

$
0
0

dir (DIRectrory)命令 顯示目錄裡的檔案 (初學者的命令行 #3)

dir是最基本的顯示檔名命令。同時介紹多個參數與做成巨集的便捷操作。

顯示整個目錄

命令 說明
dir 顯示所在目錄裡的子目錄與檔案
dir /w 寬式顯示
dir /s 顯示子目錄內容
dir /od 以日期排列 (order by date)
dir /o-d 以日期排程(由新到舊排列)
dir /os 以檔案大小排列 (order by size)
dir /o-s 以檔案大小排列 (由大到小排列)
dir /ad 只顯示目錄 (Attribute as Directory)
dir /ad /od 顯示目錄,依建立日期排列

顯示特定檔案

命令 說明 範例
dir 檔名 顯示所在目錄裡、符合指定檔名的子目錄與檔案 dir notepad.exe
dir *.副檔名 顯示某種副檔名的檔案 dir *.exe
dir *特定文字*.* 檔名含有指定特定文字的檔案 dir 32.*

*是0或多個字元,另外有?也可使用,?是0或多個字元。

建立巨集

  1. 編輯供doskey.exe使用的macros.txt
  2. 將上列命令建立成巨集,存入macros.txt
  3. 讓doskey.exe重新讀取macros.txt

巨集範例

[cmd.exe]
alias=doskey /macros
nn=notepad $*
svc=services.msc
app=appwiz.cpl
desk=desk.cpl
dd=dir /od $*
ds=dir /os $*
da=dir /ad /od $*
dss=dir *$1* $*
reload=doskey /macrofile=z:\util\macros.txt
e=notepad z:\util\$1.txt

示範影片:

##

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


切換目錄: 用cd、pushd和Shell命令(初學者的命令行 #4)

$
0
0

cd (Change Directory)用來切換目錄(或稱資料夾)。

命令 說明
cd .. 切換到目錄磁碟的上一層
cd ..\.. 上一層的上一層
cd \Pro(按Tab) Tab鍵會自動補全,若在C:磁碟機會找到C:\Program Files和C:\Program Files (x86)
cd /d z:\util 切換Z:磁碟機到\util並換磁碟機到Z:

Windows沒有明顯的家目錄概念,比較近似的是環境變數 USERPROFILE,我們可以寫一個巨集來達到切換到家目錄:

cd~=cd /d %USERPROFILE%

以此類推,也可以自行增加常用目錄:

cddesk=cd /d %USERPROFILE%\Desktop
cddl=cd /d %USERPROFILE%\Downloads
cddoc=cd /d %USERPROFILE%\Documents
cdpic=cd /d %USERPROFILE%\Pictures

另外有些應用程式會把設定等資料寫到環境變數 APPDATA 指向的目錄,我們可以建立一個快速切換的巨集:

cdapp=cd /d %APPDATA%\

用檔案總管顯示目前目錄

在cmd.exe裡,我們可以用start .將檔案總管開啟成目前目錄(參考:DOS命令使用技巧3:由DOS視窗將目前資料夾用檔案總管開啟的方法)。

用pushd產生目錄堆疊

pushd 切換到的路徑可以建立目錄堆疊(Stack),每執行一次就把目前的目錄加入堆疊,取回並切換回推入的路徑用popd即可(請參考:方便切換目錄的指令:PUSHD與POPD)。

為方便知道堆疊的深度,我們可以把提示符號變更如下:

prompt $p$+$g

$p是路徑,$+是以+號表示的堆疊深度,$g是大於符號。範例如下:

C:\Windows\System32\drivers\etc>pushd z:\util           

z:\UTIL+>cd "c:\Program Files"                          

z:\UTIL+>cd /d "c:\Program Files"                       

c:\Program Files+>pushd z:\util                         

z:\UTIL++>pushd                                         
c:\Program Files                                        
C:\Windows\System32\drivers\etc                         

z:\UTIL++>popd                                          

c:\Program Files+>popd                                  

C:\Windows\System32\drivers\etc>

pushd不加參數會列出目前堆疊的目錄清單。

Shell命令

Windows 7以後還有快速存存特定系統目錄的Shell命令,能使用在檔案總管的位址欄、或按〔Win+R〕的執行視窗,也可以在cmd.exe裡用start來開啟。

start shell:startup
start shell:recent

找出最近使用的doc檔

start shell:recent可以找到最近存取文件的資料夾是%APPDATA%\Microsoft\Windows\Recent,因此我們可以建立一個名為recent的巨集,用來找出最近存取的文件。

recent=pushd %APPDATA%\Microsoft\Windows\Recent & dir *$1*

命令行裡的 & 是表示不同命令之間的分隔,& 左邊的執行完畢後,繼續執行其右邊的命令。

Windows 10 Shell命令完整清單

Shell Command Opens
shell:3D Objects %UserProfile%\3D Objects
shell:AccountPictures %AppData%\Microsoft\Windows\AccountPictures
shell:AddNewProgramsFolder 控制台\所有控制台項目\取得程式
shell:Administrative Tools %AppData%\Microsoft\Windows\Start Menu\Programs\Administrative Tools
shell:AppData %AppData%
shell:Application Shortcuts %LocalAppData%\Microsoft\Windows\Application Shortcuts
shell:AppsFolder Applications
shell:AppUpdatesFolder Installed Updates
shell:Cache %LocalAppData%\Microsoft\Windows\INetCache
shell:Camera Roll %UserProfile%\Pictures\Camera Roll
shell:CD Burning %LocalAppData%\Microsoft\Windows\Burn\Burn
shell:ChangeRemoveProgramsFolder Control Panel\All Control Panel Items\Programs and Features
shell:Common Administrative Tools %ProgramData%\Microsoft\Windows\Start Menu\Programs\Administrative Tools
shell:Common AppData %ProgramData%
shell:Common Desktop %Public%\Desktop
shell:Common Documents %Public%\Documents
shell:CommonDownloads %Public%\Downloads
shell:CommonMusic %Public%\Music
shell:CommonPictures %Public%\Pictures
shell:Common Programs %ProgramData%\Microsoft\Windows\Start Menu\Programs
shell:CommonRingtones %ProgramData%\Microsoft\Windows\Ringtones
shell:Common Start Menu %ProgramData%\Microsoft\Windows\Start Menu
shell:Common Startup %ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup
shell:Common Templates %ProgramData%\Microsoft\Windows\Templates
shell:CommonVideo %Public%\Videos
shell:ConflictFolder 控制台\所有控制台項目\同步中心\衝突
shell:ConnectionsFolder 控制台\所有控制台項目\網路連線
shell:Contacts %UserProfile%\Contacts
shell:ControlPanelFolder 控制台\所有控制台項目
shell:Cookies %LocalAppData%\Microsoft\Windows\INetCookies
shell:Cookies\Low %LocalAppData%\Microsoft\Windows\INetCookies\Low
shell:CredentialManager %AppData%\Microsoft\Credentials
shell:CryptoKeys %AppData%\Microsoft\Crypto
shell:desktop Desktop
shell:device Metadata Store %ProgramData%\Microsoft\Windows\DeviceMetadataStore
shell:documentsLibrary Libraries\Documents
shell:downloads %UserProfile%\Downloads
shell:dpapiKeys %AppData%\Microsoft\Protect
shell:Favorites %UserProfile%\Favorites
shell:Fonts %WinDir%\Fonts
shell:Games (removed in version 1803) Games
shell:GameTasks %LocalAppData%\Microsoft\Windows\GameExplorer
shell:History %LocalAppData%\Microsoft\Windows\History
shell:HomeGroupCurrentUserFolder Homegroup(user-name)
shell:HomeGroupFolder Homegroup
shell:ImplicitAppShortcuts %AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\ImplicitAppShortcuts
shell:InternetFolder Internet Explorer
shell:Libraries Libraries
shell:Links %UserProfile%\Links
shell:Local AppData %LocalAppData%
shell:LocalAppDataLow %UserProfile%\AppData\LocalLow
shell:MusicLibrary Libraries\Music
shell:MyComputerFolder This PC
shell:My Music %UserProfile%\Music
shell:My Pictures %UserProfile%\Pictures
shell:My Video %UserProfile%\Videos
shell:NetHood %AppData%\Microsoft\Windows\Network Shortcuts
shell:NetworkPlacesFolder Network
shell:OneDrive OneDrive
shell:OneDriveCameraRoll %UserProfile%\OneDrive\Pictures\Camera Roll
shell:OneDriveDocuments %UserProfile%\OneDrive\Documents
shell:OneDriveMusic %UserProfile%\OneDrive\Music
shell:OneDrivePictures %UserProfile%\OneDrive\Pictures
shell:Personal %UserProfile%\Documents
shell:PicturesLibrary Libraries\Pictures
shell:PrintersFolder All Control Panel Items\Printers
shell:PrintHood %AppData%\Microsoft\Windows\Printer Shortcuts
shell:Profile %UserProfile%
shell:ProgramFiles %ProgramFiles%
shell:ProgramFilesCommon %ProgramFiles%\Common Files
shell:ProgramFilesCommonX64 %ProgramFiles%\Common Files (64-bit Windows only)
shell:ProgramFilesCommonX86 %ProgramFiles(x86)%\Common Files (64-bit Windows only)
shell:ProgramFilesX64 %ProgramFiles% (64-bit Windows only)
shell:ProgramFilesX86 %ProgramFiles(x86)% (64-bit Windows only)
shell:Programs %AppData%\Microsoft\Windows\Start Menu\Programs
shell:Public %Public%
shell:PublicAccountPictures %Public%\AccountPictures
shell:PublicGameTasks %ProgramData%\Microsoft\Windows\GameExplorer
shell:PublicLibraries %Public%\Libraries
shell:Quick Launch %AppData%\Microsoft\Internet Explorer\Quick Launch
shell:Recent %AppData%\Microsoft\Windows\Recent
shell:RecordedTVLibrary Libraries\Recorded TV
shell:RecycleBinFolder Recycle Bin
shell:ResourceDir %WinDir%\Resources
shell:Ringtones %ProgramData%\Microsoft\Windows\Ringtones
shell:Roamed Tile Images %LocalAppData%\Microsoft\Windows\RoamedTileImages
shell:Roaming Tiles %AppData%\Microsoft\Windows\RoamingTiles
shell:::{2559a1f3-21d7-11d4-bdaf-00c04f60b9f0} Run dialog box
shell:SavedGames %UserProfile%\Saved Games
shell:Screenshots %UserProfile%\Pictures\Screenshots
shell:Searches %UserProfile%\Searches
shell:SearchHistoryFolder %LocalAppData%\Microsoft\Windows\ConnectedSearch\History
shell:SearchHomeFolder search-ms:
shell:SearchTemplatesFolder %LocalAppData%\Microsoft\Windows\ConnectedSearch\Templates
shell:SendTo %AppData%\Microsoft\Windows\SendTo
shell:Start Menu %AppData%\Microsoft\Windows\Start Menu
shell:StartMenuAllPrograms StartMenuAllPrograms
shell:Startup %AppData%\Microsoft\Windows\Start Menu\Programs\Startup
shell:SyncCenterFolder Control Panel\All Control Panel Items\Sync Center
shell:SyncResultsFolder Control Panel\All Control Panel Items\Sync Center\Sync Results
shell:SyncSetupFolder Control Panel\All Control Panel Items\Sync Center\Sync Setup
shell:System %WinDir%\System32
shell:SystemCertificates %AppData%\Microsoft\SystemCertificates
shell:SystemX86 %WinDir%\SysWOW64
shell:Templates %AppData%\Microsoft\Windows\Templates
shell:ThisPCDesktopFolder Desktop
shell:UsersFilesFolder %UserProfile%
shell:User Pinned %AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned
shell:UserProfiles %HomeDrive%\Users
shell:UserProgramFiles %LocalAppData%\Programs
shell:UserProgramFilesCommon %LocalAppData%\Programs\Common
shell:UsersLibrariesFolder Libraries
shell:VideosLibrary Libraries\Videos
shell:Windows %WinDir%

請參考示範影片:

##

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

將Kobo電子書轉成Kindle MOBI格式的步驟 Step-by-step

$
0
0

要安裝的軟體

  1. Calibre電子書管理系統 https://calibre-ebook.com/download
  2. Calibre的外掛:DeDRM_tools https://github.com/apprenticeharper/DeDRM_tools/releases,下載最新版,解壓縮找到DeDRM_plugin.zip
  3. Adobe Digital Editions:https://www.adobe.com/tw/solutions/ebook/digital-editions/download.html

去除數位版權管理(DeDRM)的步驟

  1. 到樂天Kobo書城購買電子書
  2. 到樂天Kobo書城 我的帳戶→我的書籍→找到要操作的電子書
  3. 按···再選下載,開啟對話窗選使用Adobe Digital Editions開啟
  4. 用檔案總管查看 C:\Users\登入帳號\Documents\My Digital Editions裡是否已經有電子書的.epub檔案
  5. 用Calibre→加入書籍→點選上述路徑裡的.epub檔案以匯入該電子書
  6. 雙擊匯入的書籍,若可正常DeDRM則會顯示可讀的內容,失敗的話只會看到亂碼

解說影片:

##

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

快速下載卡提諾/伊莉論壇小說的方法:使用JNovelDownloader

$
0
0

用JNovelDownloader下載卡提諾與伊莉的小說

卡提諾論壇的小說頻道匯集許多已完本或連載中的網路小說,如果將想閱讀的小說下載到Kindle裡,以便使用Kindle來閱讀時,應該如何操作呢?

步驟1、下載JNovelDownloader

JNovelDownloader是pupuliao以Java撰寫的小說下載程式,目前支援卡提諾和伊莉,最早的版本在2012年釋出,最新的4.9版於2018年一月釋出。

下載:https://sourceforge.net/projects/jnoveldownload/files/,下載JNovelDownloader_v4_9.jar並放在自己的常用工具資料夾即可。

步驟2、安裝Java Runtime Envirenment(JRE)

JNovelDownloader需要Java的環境才能執行,因此先確認是否已經有安裝JRE了,若沒有則再到下載免費 Java 軟體網站下載並安裝。

確認是否有關JRE:開啟命令提示字元(cmd.exe),並直接執行JNovelDownloader_v4.9.jar,若能看到JNovelDownloader視窗則表示有安裝且能正常運行。

若無法執行,則再執行下列命令確認是否有java.exe:

Z:\UTIL>where java.exe
C:\Program Files (x86)\Common Files\Oracle\Java\javapath\java.exe

找到的java.exe就可用來啟動JNovelDownloader。

步驟3、建立執行的批次檔

為了方便重覆執行,我們先建立一個批次檔,日後直接執行此批次檔就能啟動JNovelDownloader了。

批次檔命名為 jnov.bat,放在PATH環境變數能搜尋到的資料夾裡,其內容如下(假設存放目錄是 Z:\util,JRE則是C:\Program Files\Java\jre1.8.0_201\bin):

start "jnov" "C:\Program Files\Java\jre1.8.0_201\bin\java.exe" -Xmx2048m -jar z:\util\Jnovel\JNovelDownloader_v4_9.jar

或用上一步驟找到的java.exe:

start "jnov" "C:\Program Files (x86)\Common Files\Oracle\Java\javapath\java.exe" -jar z:\util\JNovelDownloader_v4_9.jar

重點就是用-jar JNovelDownloader的.jar檔就能啟動了。

步驟4、JNovelDownloader設定與執行

JNovelDownloader的畫面如下:

GUI

首先按〔設定〕來設定小說存放目錄和暫存檔目錄,再指定文字編碼,按確定後會自動產生設定檔option.ini。

到卡提諾找到書籍後,複製第一頁的網址到剪貼簿,則JNovelDownloader會偵測到並自動顯示,接著直接按下載即可,小說名稱、作者、下載到第幾頁等不用輸入,JNovelDownloader開始用指定的執行緒下載每個網頁,下載完成後再移除網頁標籤並合併成一個文字檔。

到此已成功下載一個電子書檔案了,可用USB連接Kindle或以附件方式寄到Kindle電子信箱。若要繼續下載第二本書時,記得把小說名稱、作者、下載到第幾頁欄位內容先清除,以免不慎覆蓋了第一本書的內容。

相關連結

詳細的示範影片

##

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

由文字檔產生Kindle .MOBI檔的操作步驟 -使用EmEditor+M2M+KindleGen

$
0
0

由文字檔轉成.mobi或.azw有很多種方法,例如:

  1. 上傳到天火藏書 MOBI 直排
  2. EasyPub工具:請自行參考Te Ming Hu寫的教學文來源
  3. 自力救濟,用自己寫的m2m.exe:Markdown To Mobi

本文使用m2m.exe說明。

由文字檔製作.mobi流程

kindle-flow

上述流程是先把文字檔用EmEditor轉換成文字檔的Markdown格式,再用m2m.exe產生內容網頁、目錄網頁與控制檔,再叫用亞馬遜的Kindlegen.exe來產生.mobi檔,將.mobi檔複製到Dropbox的特定目錄,透過IFTTT.com的網路服務將檔案寄到Kindle帳戶的電子信箱。

使用到下列工具:

工具 功能
EmEditor.exe 文字編輯器,用其巨集轉換章節為Markdown格式
m2m.exe 讀取Markdown格式的文字檔,產生Kindlegen需要的檔案後,叫用Kindlegen產生.mobi
kindlegen.exe 亞馬遜的產生電子書檔案的工具
Kindle for PC m2m.exe裡檢視產生的.mobi檔時執行

m2m.exe有兩個版本:

  1. v0.01:讀取已轉換成Markdown格式的文字檔,產生Kindlegen.exe需要的內容網頁、目錄檔等,叫用Kindlegen.exe來產生.mobi檔。Kindlegen是亞馬遜釋出的工具,用來產生.mobi、.awz、.epub等格式。
  2. v0.04:提高執行方便性的嘗試,可惜效能不佳,尚待調整。

使用EmEditor巨集轉換章節

用m2m.exe產生.mobi檔

詳見解說影片。

相關下載連結

解說影片

##  

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

新版Kindle for PC/Kindle for Mac無法解除DRM的處理方法

$
0
0

我在這篇 文字檔轉換為Kindle MOBI檔的工具:m2m的Step-by-step操作步驟 (更新:直排功能)介紹在Calibre電子書告示系統裡用DeDRM外掛解除Kindle的DRM後,就可以將電子書複製到另一部Kindle閱讀的方法,但最近因為換了開機的SSD,因此重新下載並安裝新版的Kindle for PC後,竟然無法DeDRM了!搜尋後終於找到原因。

由這篇 Dealing with Kindle for PC/Mac 1.19 (and later) and KFX in calibre找到答案:最新版的Kindle for PC 1.25.x變更了儲存的檔案格式,導致無法DeDRM,文中列了幾個解決方法,其中最簡單的就是使用舊版的就好了,以下是仍能下載的1.24與1.23版連結:

##

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

超級方便的Markdown編輯器: Markdown Monster (#1)

$
0
0

Markdown Monster是我用了很久的Markdown編輯器,彙總一下優缺點:

優點

  • 操作介面簡潔
  • 編輯功能強,例如有超連結編輯視窗、表格產生視窗等
  • 彈性的設定樣式,有應用程式主題樣式、編輯器主題樣式與預覽主題樣式等三類
  • 具文章目錄功能,並能插入到文章
  • 能匯出HTML與PDF格式
  • Git整合功能
  • 文章能直接輸出到部落格網站

缺點

  • 只適用Windows作業系統
  • 只有英文介面

相關連結

詳見的操作介紹請直接看影片:

參考

##

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

Markdown Monster的進階功能: 部落格、Git整合與HTML轉換為Markdown格式(#2)

$
0
0

整合

Markdown Monster整合了更多功能,提供了更有彈性的組合:

  • Blog整合:設定好Blog的張貼網址後,能直接將文章張貼到Blog

    post

  • Git整合:指定好自己使用的Git client後,能用Git client開啟文章
  • 螢幕擷取:系統內建基本的截圖功能,並能與SnagIt整合

其他進階功能

  • Paste Html as Markdown:貼入HTML的內容並轉換為Markdown格式;功能表【Edit】→【Paste Html as Markdown】

詳細操作請看影片

##

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


Markdown格式的筆記軟體:Boostnote的定位、特點與操作簡介(#3)

$
0
0

Boostnote的定位與特點

定位

Boostnote使用Markdown格式,定位為適合程式開發人員使用的筆記軟體。其實不止程式開發人員,只要有簡單、迅速做筆記需求的人,都很適合使用Boostnote。

特點

  • 三層結構:如果把儲存位置也用上的話,可以形成三階層的筆記樹狀結構,即大分類→小分類→筆記項目
  • 兩種類型:筆記項目有兩類:文字筆記和程式碼,程式碼方便蒐集常用的程式碼片段
  • 多個系統平台:Boostnote使用nodejs,因此能跨平台,Windows、MacOS、Linux等皆能使用。理論上移動設備上應該也能使用,但目前還看不到有下載連結
  • 多種編輯模式:只有編輯器或只有預覽畫面、編輯器+預覽、資料夾+筆記項目+只有編輯器或只有預覽畫面或資料夾+筆記項目+編輯器+預覽,各種組合皆能呈現
  • 多個匯出格式:匯出Markdown、純文字、HTML或PDF皆能操作。匯出PDF要用列印
  • .cson檔案:筆記的儲存格式是文字的cson格式,檔名無法自行命名,很難用其他文字編輯器直接搜尋閱讀

應注意事項

  • 如果發生無法顯示圖片狀況:圖片貼入時路徑分隔字元的反斜線會造成圖片無法顯示。把反斜線改成正斜線就可以了。

詳細操作請看影片

##

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

用人工智慧幫你的影片加字幕:超方便的網易見外工作台

$
0
0

網易見外工作台能以人工智慧的技術,幫我們產生影片的字幕,讓我們線上校對編輯,再匯出成字幕檔(.srt),我們再上傳字幕檔到YouTube影片,就能快速的為我們的YouTube影片加上CC字幕了。

相關連結

詳細操作請看影片

##

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

用OpenCC快速、準確的簡繁互轉

$
0
0

OpenCC是什麼?

OpenCC的優點

  • 命令行,使用簡便、迅速
  • 除了字對字轉換,也能詞彙轉換
  • 能針對地區(台、港)慣用詞轉換
  • 轉換準確性高
  • 自行擴充轉換詞彙,彈性十足

OpenCC命令

opencc -c 設定檔 -i 輸入檔 -o 輸出檔
  • 設定檔是JSON格式的文字檔
  • 如s2twp.json (簡轉繁+台灣詞彙)
  • 如tw2sp.json (台灣繁轉簡+大陸詞彙)
  • 也有簡轉港與港轉簡的設定檔

OpenCC的字典檔

  • 字典檔格式有兩種:ocd與text
  • 用opencc_dict轉換字典檔格式:
opencc_dict -from 舊格式 -to 新格式 -i 輸入檔 -o 輸出檔
  • 設定檔裡指定轉換時使用的字典檔

Linux與MacOS的安裝指令

  • MacOS使用Homebrew安裝OpenCC
$ brew install opencc
  • Linux
sudo apt-get install opencc

相關連結

詳見影片操作

##

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

用AutoGUI來學習AutoHotkey!超級簡單!(AHK #1)

$
0
0

AutoHotkey是什麼?

  • AutoHotkey是簡化鍵盤與滑鼠輸入的生產力工具
  • 有效提升輸入的效率
  • 透過它的腳本語言來控制熱鍵和熱字串
  • 功能強大卻使用簡單

這次要使用AutoGUI編輯器來介紹如何用最簡單的方法搭建高效輸入工具。

下載網址

AutoGUI 編輯器

AutoGUI本身就是用AutoHotkey腳本寫的編輯器,是撰寫腳本的整合性開發環境

實例操作

  • 熱字串與熱鍵語法:
::熱字串::擴展後字串
按鍵:: 執行的動作

熱字串範例:

::,tw::台灣
::,tw2::臺灣
::,tp::台北
::,tc::台中
::,ks::高雄
::,addr::11656台北市文山區新光路二段30號

::,eaddr::
(
No. 30, Sec.2, Xinguang Rd., Wenshan Dist.,
Taipei City 11656, 
Taiwan, 
R.O.C.
)

熱鍵範例:

按鍵符號 按鍵
^ Ctrl
! Alt
+ Shift
# Win
符號 說明
< 左邊的按鍵
> 右邊的按鍵
#z::Run notepad  ; Win+Z

熱字串使用範例

熱字串 功能說明
::@g::@gmail.com 常用電子信箱
::@h::@hotmail.com 常用電子信箱
::,s::select * from SQL敘述
:O:,pk::ALTER TABLE tab ADD CONSTRAINT PK_tab1 PRIMARY KEY ( ) SQL敘述
::,tk::Thanks. Thanks.
::,btw::By the way, 順道一提

詳細的示範影片

##

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

AutoHotkey 熱字串的常用選項與指引功能(AHK #2)

$
0
0

AutoHotkey 文件網頁

AutoHotkey的文件網頁是:https://www.autohotkey.com/docs/AutoHotkey.htm
可按上方的【en】→【zh】以切換為簡體中文說明。

啟動

將要使用的.ahk檔案以建立捷徑的方式加到啟動資料夾,讓每次開機後都能生效。
在檔案總管位址欄輸入shell:startup就能快速切換到啟動資料夾。

右鍵功能表

安裝AutoHotkey後,.ahk的右鍵功能表會有Compile Script、Edit Script等選項。

  • Compile Script會產生與腳本檔同名的.exe檔案。
  • Edit Script會以Notepad開啟腳本檔供編輯

熱字串選項

:選項:熱字串::擴展後字串
按鍵:: 執行的動作

熱字串的控制選項是在第一個冒號後面,常用的有下列幾種:

選項 功能 範例
* 不需要觸發字元 :*:,ks::高雄
O 不輸出觸發字元 :O:,pc::電腦
C 區分大小寫 :C:,pc::電腦,,PC無效
R 原樣輸出 :R:,dear::各位同仁,{enter}
B0 擴展後不刪除熱字串 :*B0:<li>::</li>{left 5}

使用在特定應用程式的熱字串

使用AutoHotkey的指引 #IfWinActive ahk_class 應用程式的類別名稱。

#IfWinActive ahk_class Notepad
::,t1::輸出在Notepad
#IfWinActive
::,t1::輸出在其他的應用程式
  • 問題:如何得知應用程式的類別名稱呢?
  • 解答:使用AutoHotkey安裝目錄裡的WindowSpy.ahk
  • 設定:AutoGUI 【Tools】→【Configure Tools…】→【New…】,加入WindowSpy.ahk
  • 執行:執行WindowSpy.ahk,再把游標移到要偵測的應用程式即可取得 ahk_class

指引(Directive)是什麼?有何作用?

指引是指示AutoHotkey如何來設置腳本檔案的環境,可以當成是這個腳本檔的參數設定。

指引 功能說明
#SingleInstance Force 強制只使用一個執行實例,
是否覆蓋的對話窗不再出現
#IfWinActive ahk_class 應用程式類別 指定的應用程式是否擁有輸入焦點
#NoEnv 啟始環境變數,建議使用以取得更佳效能

詳細的操作影片

▼ AHK #1

##

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

快速建立個人常用詞庫-AutoHotkey 熱字串小工具:HotString Helper(AHK #3)

$
0
0

HotString Helper(熱字串助手)是一個 AutoHotkey 的熱鍵腳本程式,按一個鍵就能把選取好的文字加入自己使用的腳本裡,並且不需重載能立即生效,對於需要新增眾多熱字串的朋友們是個不可多得的簡單工具。

HotString Helper 的腳本能由 AutoHotkey 的說明網頁热字串 – 定义与使用 | AutoHotkey裡找到。

腳本程式

#h::  ; Win+H hotkey
    ; Get the text currently selected. The clipboard is used instead of
    ; "ControlGet Selected" because it works in a greater variety of editors
    ; (namely word processors).  Save the current clipboard contents to be
    ; restored later. Although this handles only plain text, it seems better
    ; than nothing:
    AutoTrim Off  ; Retain any leading and trailing whitespace on the clipboard.
    ClipboardOld := ClipboardAll
    Clipboard := ""  ; Must start off blank for detection to work.
    Send ^c
    ClipWait 1
    if ErrorLevel  ; ClipWait timed out.
        return
    ; Replace CRLF and/or LF with `n for use in a "send-raw" hotstring:
    ; The same is done for any other characters that might otherwise
    ; be a problem in raw mode:
    StringReplace, Hotstring, Clipboard, ``, ````, All  ; Do this replacement first to avoid interfering with the others below.
    StringReplace, Hotstring, Hotstring, `r`n, ``r, All  ; Using `r works better than `n in MS Word, etc.
    StringReplace, Hotstring, Hotstring, `n, ``r, All
    StringReplace, Hotstring, Hotstring, %A_Tab%, ``t, All
    StringReplace, Hotstring, Hotstring, `;, ```;, All
    Clipboard := ClipboardOld  ; Restore previous contents of clipboard.
    ; This will move the InputBox's caret to a more friendly position:
    SetTimer, MoveCaret, 10
    ; Show the InputBox, providing the default hotstring:
    InputBox, Hotstring, New Hotstring, Type your abreviation at the indicated insertion point. You can also edit the replacement text if you wish.`n`nExample entry: :R:btw`::by the way,,,,,,,, :R:`::%Hotstring%
        if ErrorLevel  ; The user pressed Cancel.
        return
    if InStr(Hotstring, ":R`:::")
    {
        MsgBox You didn't provide an abbreviation. The hotstring has not been added.
        return
    }
    ; Otherwise, add the hotstring and reload the script:
    FileAppend, `n%Hotstring%, %A_ScriptFullPath%  ; Put a `n at the beginning in case file lacks a blank line at its end.
    Reload
    Sleep 200 ; If successful, the reload will close this instance during the Sleep, so the line below will never be reached.
    MsgBox, 4,, The hotstring just added appears to be improperly formatted.  Would you like to open the script for editing? Note that the bad hotstring is at the bottom of the script.
    IfMsgBox, Yes, Edit
        return

MoveCaret:
    IfWinNotActive, New Hotstring
        return
    ; Otherwise, move the InputBox's insertion point to where the user will type the abbreviation.
    Send {Home}{Right 3}
    SetTimer, MoveCaret, Off
return

操作步驟

操作的步驟很簡單:

  1. 選取要加入腳本檔的文字
  2. 按[Win+h]
  3. 在彈出的對話窗輸入熱字串的鍵值
  4. 按確定

接著就能直接使用這個剛入的熱字串了。如果開啟你的腳本檔,即能發現熱字串的指令已經加進去了。

說明與示範影片

##

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

輕鬆學會AutoHotkey的熱鍵:熱鍵用法實例解說(AHK #4)

$
0
0

AutoHotkey的熱鍵表示式

AutoHotkey熱鍵語法

;; 只有一個動作時可寫在同一行
按鍵::執行的動作



;; 一個動作以上時必須寫在下一行,最後用 return 結束
按鍵::
    執行的動作1
    執行的動作2
    ;; ...執行的動作N...
    return

常用的按鍵字串

AutoHotkey的按鍵要在熱字串裡使用時,要用大括號夾住按鍵,以下是幾個常用的按鍵,完整的清單可參考List of Keys (Keyboard, Mouse and Joystick)

常用按鍵 說明
LButton, MButton, RButton 滑鼠左鍵、滾輪與右鍵
WheelDown, WheelUp 滾輪壓下與放開
WheelLeft, WheelRight 滾輪向左與向右
Up, Down, Left, Right 上下左右鍵
Tab, Enter, Escape, Backspace 對應按鍵
SCnnn Scan Code nnn
VKnn Virtual Key nn

無法在按鍵清單找到的特殊按鍵(不是標準鍵盤時會有特殊字元,例如音量變大、音量變小等)可以使用下列步驟找到其Scan code或Virtual key:

  1. 在系統匣找到你的腳本檔AutoHotkey圖示,雙擊之,AutoHotkey視窗會自動彈出
  2. 功能表 【View】→【Key history and script info】 或按〔Ctrl+K〕
  3. 按下要偵測的按鍵
  4. 按〔F5〕重新顯示按鍵歷史
  5. 最後面F5上面的就有被偵測按鍵的資訊:第一個欄位是VK,第二個欄位是SC

找到SC的三個十六進位值後就能針對這個按鍵做控制,例如:

;; 音量特殊按鍵
SC12E::
  MsgBox 音量減小!
  return

;; 音量特殊按鍵
SC130::
  MsgBox 音量加大!
  return

熱鍵範例:

按鍵符號 按鍵
^ Ctrl
! Alt
+ Shift
# Win
* 萬用按鍵。
*#n:: 表示(Alt、Ctrl、Shift各種組合)+Win+n皆生效
& 將鍵盤按鍵與滑鼠按鈕等兩個鍵結合一個按鍵
(按住第一個不放再按第二個)
~ 不抑制原按鍵,原按鍵功能繼續保留
$ 用Send指令送出相同按鍵時要加 $
符號 說明
< 左邊的按鍵
> 右邊的按鍵
#n::Run notepad  ; Win+n

; 系統所有的右鍵功能表都變成新的設定了
RButton::MsgBox 你按了滑鼠右鍵

; 系統的右鍵功能表與新的設定同時存在
~RButton::MsgBox 你按了滑鼠右鍵

; 會不斷輸出 bcbcbcbcbcbcbc....
a::Send abc

; 正常輸出 abc
$a::Send abc

; 完全停用某個按鍵。下例停用{右Win}
>#::return

熱鍵範例

範例1

功能:按〔Ctrl+Alt+F4〕關閉同一個應用程式的一或多個執行實例

^!f4::
  ; 把作用中的視窗類別存入變數 sClass
  WinGetClass, sClass, A
  ; 關閉相同的類別視窗
  while WinExist("ahk_class " . sClass) {
    WinClose
  }
  return

範例2

功能:按〔LButton+Escape〕關閉目前視窗

~LButton & Escape::
  WinGetActiveTitle, Title
  WinClose, %Title%
  return

實例解說影片

##

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


AutoHotkey腳本的4種除錯方法(AHK #5)

$
0
0

吃燒餅沒有不掉芝麻的,想寫好程式,讓程式依你所想運行,就必須善用除錯工具。

除錯方法1: 用MsgBox

最簡單的AutoHotkey除錯,當然就是用MsgBox把變數顯示在對話窗裡來確認正確性了。

例如:

;// 把目前視窗設為置頂
!t:: WinSet, AlwaysOnTop, , A

#c::
  WinGetClass, sClass, A  ;//取出目前視窗的類別
  WinGetTitle, sTitle, A  ;//取出目前視窗的標題
  sNow = %A_NOW%          ;//取出目前日期時間
  MsgBox 類別=%sClass%, 標題=%sTitle%, 目前時間=%sNow%
  if (sClass = "CabinetWClass") {
    MsgBox 檔案總管裡按 Win+C
  } if (sClass = "Chrome_WidgetWin_1") {
    MsgBox 網頁標題是: %sTitle%
  } else {
    MsgBox 目前時間是: %sNow%  
  }
  return

除錯方法2: 用ListVars與Pause

ListVars讓AutoHotkey視窗顯示全局變數供我們檢視。

#c::
  WinGetClass, sClass, A  ;//取出目前視窗的類別
  WinGetTitle, sTitle, A  ;//取出目前視窗的標題
  sNow = %A_NOW%          ;//取出目前日期時間
  ;MsgBox 類別=%sClass%, 標題=%sTitle%, 目前時間=%sNow%
  ListVars
  Pause
  if (sClass = "CabinetWClass") {
    MsgBox 檔案總管裡按 Win+C
  } if (sClass = "Chrome_WidgetWin_1") {
    MsgBox 網頁標題是: %sTitle%
  } else {
    MsgBox 目前時間是: %sNow%  
  }
  return

除錯方法3: 用OutputDebug

使用OutputDebug把除錯訊息導向到系統除錯檢視器。系統除錯檢視器可以到DebugView – Windows Sysinternals | Microsoft Docs下載,解開後直接執行 dbgview.exe。下列範例中的OutputDebug會將訊息顯示在DebugView視窗裡。

#c::
  WinGetClass, sClass, A
  WinGetTitle, sTitle, A
  sNow = %A_NOW%
  OutputDebug, 除錯輸出。類別=%sClass%, 標題=%sTitle%, 目前時間=%sNow%

  if (sClass = "CabinetWClass") {
    MsgBox 檔案總管裡按 Win+C
  } if (sClass = "Chrome_WidgetWin_1") {
    MsgBox 網頁標題是: %sTitle%
  } else {
    MsgBox 目前時間是: %sNow%  
  }
  return

除錯方法4: 交互式除錯步驟

AutoHotkey已經提供了DBGp協定,依下列步驟執行就能建立交互式的除錯,可以逐步測試程式的正確性:

  1. 執行 AutoGUI.ahk
  2. 載入要測試的腳本(如test2.ahk)後按〔Execute〕
  3. 由AutoGUI功能表 【Debug】→【Start Debugging】
  4. 點擊行號右側以設定中斷點
  5. 按【Debug】→【Continue】
  6. 以下列指令啟動除錯Server程式:
c:\Program Files\AutoHotkey\AutoHotkey.exe /Debug test2.ahk

接著按下要測試的熱鍵,程式遇到中斷點就會停下來,我們可以用Step Over或Step Into等來逐步測試。

詳細說明與實例操作影片

##

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

不用寫程式的AutoHotkey腳本錄製器-Pulover’s Macro Creator(AHK #6)

$
0
0

Pulover’s Macro Creator是一個免費的巨集錄製工具,能把我們的滑鼠和鍵盤操作都錄製起,並產生成AutoHotkey的腳本,錄好後就能多次重新執行,使用它就能大幅減少重覆性的固定操作。

匯出的AutoHotkey腳本,預設是按〔F3〕執行。

相關連結

實際操作影片

▼ Chrome擴充:Link Buncher

##

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

分享:一個 # 字號,激起了 GitHub 上台灣、中國開發者的熱議

$
0
0

幾個AutoHotkey的實用範例:音量控制、滾輪回上層與語音功能(AHK #7)

$
0
0

tkey

音量控制

使用標準的101鍵或104鍵鍵盤時,不像筆記型電腦通常都有多媒體按鍵,此時我們可以用下列AutoHotkey腳本以使用按鍵來控制音量:

!NumpadAdd:: Send {Volume_Up} ;//Alt + numpad plus
!NumpadSub:: Send {Volume_Down} ;//Alt + numpad minus
!Numpad0::Send {Volume_Mute} ;//Alt + numpad 0 

檔案總管回上層目錄

按下滑鼠中鍵(滾輸)往上層目錄或到下個項目

~MButton::
  WinGetClass,sClass,A
  ;//MsgBox class=%sClass%
  ;//FM=7-zip window, TFcFormMain=FreeCommander
  if (sClass="TFcFormMain" || sClass="FM" || sClass="MultiCommander MainWnd") {
    Send, {BS}
  } else if (sClass="CabinetWClass") {
    Send, !{up}
  } else if (sClass="MozillaWindowClass" || sClass="Chrome_WidgetWin_1") {
    WinGetTitle, sTitle, A
    ;//MsgBox title=%sTitle%
    if (InStr(sTitle, "Gmail") > 0) {
      Send {j}
    } else if (InStr(sTitle, "Twitter") > 0) {
      Send {j}
    }
  } 
  return

~+MButton::
  WinGetClass,sClass,A
  ;//MsgBox $%sClass%$
  if (sClass = "MozillaWindowClass" || sClass="Chrome_WidgetWin_1") {
    WinGetTitle, sTitle, A
    if (InStr(sTitle, "Gmail") > 0 || InStr(sTitle, "Facebook") > 0) {
      Send {k}
    } else if (InStr(sTitle, "Twitter") > 0) {
      Send {k}
    }
  }
  return

取游標位置的顏色代碼

用MouseGetPos取得游標座標,再用PixelGetColor取出座標處的顏色代碼

!a::
  MouseGetPos, MouseX, MouseY
  PixelGetColor, color, %MouseX%, %MouseY%, RGB  
  Clipboard := "#" . SubStr(color, 3)
  MsgBox, Current color is `n %Clipboard%
  return

叫用語音API

A_YYYY、A_Hour等是AutoHotkey的內建變數。

!F12::
  date = %A_YYYY%年%A_MM%月%A_DD%日
  Speak("今天日期是 " . date)
  time = %A_Hour%點 %A_Min%分 %A_Sec%秒
  Speak("現在時間是 " . time)
  return

Speak(say) {
  spovice:=ComObjCreate("sapi.spvoice")
  spovice.Speak(say)
}

實際操作影片

##

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

用命令行直接透過Gmail寄信,可以快速寄出電子書檔案給Kindle接收(AHK #8)

$
0
0

Windows有個COM物件可以很簡便的寄信,就是CDO (Collaboration Data Objects) 物件,如果我們使用AutoHotkey來操作CDO的話,可以用一行命令、很簡單的就能把電子書檔案寄出,不必再使用IFTTT.com或進入電子郵件應用程式。

#SingleInstance Force

sFileName := A_Args[1]  ;; //傳入參數必須帶有路徑
if (sFileName = "") {
  MsgBox 必須傳入完整檔名
  return
}  
pmsg := ComObjCreate("CDO.Message")
;;pmsg.Charset := "UTF-8"
pmsg.From := """SendByAHK"" <你的Gmail帳號@gmail.com>"
pmsg.To := "你的Kindle帳號@kindle.com"
pmsg.BCC := ""   ; Blind Carbon Copy, Invisable for all, same syntax as CC
pmsg.CC := ""
pmsg.Subject := "傳送Kindle檔名:" . sFileName

;You can use either Text or HTML body like
pmsg.TextBody := "傳送檔名:" . sFileName
;OR
;pmsg.HtmlBody := "<html><head><title>Hello</title></head><body><h2>Hello</h2><p>Testing!</p></body></html>"

;;MsgBox %sFileName%
sAttach := sFileName ; can add multiple attachments, the delimiter is |

fields := Object()
fields.smtpserver := "smtp.gmail.com" ; specify your SMTP server
fields.smtpserverport := 465 ; 25
fields.smtpusessl := True ; False
fields.sendusing := 2   ; cdoSendUsingPort
fields.smtpauthenticate := 1   ; cdoBasic
fields.sendusername := "你的Gmail帳號@gmail.com"
fields.sendpassword := "你的Gmail帳號密碼"
fields.smtpconnectiontimeout := 60
schema := "http://schemas.microsoft.com/cdo/configuration/"

pfld := pmsg.Configuration.Fields

For field,value in fields
    pfld.Item(schema . field) := value
pfld.Update()

Loop, Parse, sAttach, |, %A_Space%%A_Tab%
    pmsg.AddAttachment(A_LoopField)

pmsg.Send()

實際的操作影片

##

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

Viewing all 897 articles
Browse latest View live