給TiddlyWiki建個歸檔軟體
筆記軟體雖然已經很多樣化,且手機的 app 應用程式也相當專業,但是要寫報告或是交接手冊給人時,我還是會選擇使用 TiddlyWiki。TiddlyWiki 可以外部連結到其他檔案,當我需要給人 PDF 或 RAR 檔案時,我只需要寫上個連結就能夠給他。但是每回寫檔案連結時,都覺得相當無奈,你一定會經過這幾個步驟:
- 複製檔案到特定資料夾
- 複製檔案名稱與副檔名
- 進到 TiddlyWiki 新增連結
目標功能
- 自動加上時間碼(YYYYMMDD_hhmmss)
- 依照檔案類型分類(取得副檔名)
之前腦袋一直有個想法,認為用 Batch 應該就能夠處理這些問題,特別是我平常就有用 Deskbox 以日期歸檔,整體要解決的目標應該是:
- 取得日期與時間
- 取得拖曳進來的檔案名稱
- 分析檔名與副檔名
- 複製結果到剪貼簿
沒辦法解決的問題
連結的直槓(vertical bar)無法匯出,因此用 @ 代替,手動修改一個符號應該還行。結論
REM 設定歸檔資料夾 SET Mailbox=D:\lol\ REM 取得日期 For /f "tokens=1-3 delims=/ " %%a in ('date /t') do (SET date=%%a%%b%%c) REM取得時間 SET CURRENTTIME=%TIME% IF "%CURRENTTIME:~0,1%"==" " (SET CURRENTTIME=0%CURRENTTIME:~1%) FOR /F "tokens=2-4 delims=/ " %%A IN ('DATE /T') DO ( SET TIMESTAMP=%%C%%A%%B %CURRENTTIME% SET HOUR=%CURRENTTIME:~0,2% SET MIN=%CURRENTTIME:~3,2% SET SEC=%CURRENTTIME:~6,2% ) SET datestamp=%date%%HOUR%%MIN%%SEC% REM 擷取拖曳的檔案名稱 SETlocal enableExtensions disableDelayedExpansion ECHO Command line: %0 %* ECHO Command line argument 1: "%~1" endlocal REM 分析名稱 SET Dragfile=%~1 FOR %%i IN ("%Dragfile%") DO ( SET filedrive=%%~di SET filepath=%%~pi SET filename=%%~ni SET fileextension=%%~xi ) REM 取得沒有逗點的副檔名 SET fileextensionnodot=%fileextension:~1,99% ECHO %fileextensionnodot% REM 歸檔名稱格式時間 SET NewName=%fileextensionnodot%_%datestamp% REM 複製檔案到資料夾 ECHO F|xcopy %Dragfile% "%Mailbox%%NewName%%fileextension%" REM 複製TiddlyWiki連結格式 SET TWcode=[ext[%filename%@%Mailbox%%NewName%%fileextension%]] ECHO %TWcode% | clip