2020年4月9日 星期四

[OUTLOOK疑難雜症]中文字重疊

症狀:
只有中文字會重疊在一起,會比好朋友還要好一般的擠在一起

治療:
把中文字型重新放到 C:\Windows\Fonts\ ,再重新啟動Outlook 就好了


常見的中文字型檔名如下:
標楷體  kaiu.ttf
細明體&新細明體 mingliu.ttc
新細明體擴充文字更新套件 mingliub.ttc
微軟正黑體 MSJH.TTC
微軟正黑體 msjh.ttf
微軟正黑體粗體 MSJHBD.TTC
微軟正黑體粗體 msjhbd.ttf

2020年4月8日 星期三

[批次指令] 本地資料夾自動與遠端資料夾檔案數同步 [[適用:Server2016、Windows10]

目的:

希望每天利用排程,將本機中的資料夾能自動同步比對與遠端資料夾完全相同,並將每天完成動作記錄下來,且記錄檔名稱皆為當天執行日期


範例:

本地資料夾 D:\publish\

遠端資料夾 \\192.168.0.1\publish\

記錄檔資料夾 D:\Log\


語法:

robocopy \\192.168.0.1\publish\ D:\publish\ /E /log+:D:\Log\Sync_publish_%date:~0,4%%date:~5,2%%date:~8,2%.log



[批次指令] 刪除指定天數前的檔案[[適用:Server2016、Windows10]

目的:清除3天份的備份檔


語法:forfiles /p "D:\DRBackup\DIFF-1" /s /m *.bak /d -3 /c "cmd /c del @file"



參考:
https://docs.microsoft.com/zh-tw/windows-server/administration/windows-commands/forfiles

2020年1月15日 星期三

SQL 常用字串處理語法


取字串中部分字元
SELECT Mem_ID, substring(Mem_ID,4,6) AS MEM_ID_6 
FROM members

語法:substring(欄位, 起始字元, 取幾字元)
ex: A123456789  => substring(Id,4,6) => 456789


取左側字元
SELECT LEFT(engname,5) 
FROM members

語法:left(欄位, 位數)
ex: SELECT LEFT('abcdefghijk',5) => abcde

取右側字元
SELECT RIGHT(engname,5) 
FROM members

語法:right(欄位, 位數)
ex: SELECT RIGHT('abcdefghijk',5) => ghijk

字串大小寫轉換 upperlower
SELECT upper(engname) 
FROM members

語法:upper(欄位)
ex: michael => upper => MICHAEL

SELECT lower(engname) 
FROM members

語法:lower(欄位)
ex: MICHAEL => lower => michael

去除無謂空白 ltrimrtrim
SELECT LTRIM(email) 
FROM members

語法:ltrim(欄位)
ex: "    abd@com" => ltrim => "abd@com"

SELECT RTRIM(memo) 
FROM members

語法:rtrim(欄位)
ex:"Have a nice day.     " => rtrim =>"Have a nice day."

2020年1月9日 星期四

[SQL] 列出DB裡面所有的 TABLE 與 Column

列出DB裡面所有的 TABLE 與 Column


'List All DB Table name
SELECT * 
FROM INFORMATION_SCHEMA.TABLES
where table_type='base Table'
order by TABLE_NAME




'列出Table_Name,Column順序,Column欄位型態,Column,Column長度,ColumnIs_Identity 

select 
    tab.name as Table_Name, 
    col.Column_id,
    col.name as Column_Name, 
    t.name as Data_type,    
    col.Max_Length,
COL.Is_Identity 
from sys.tables as tab
    inner join sys.columns as col
        on tab.object_id = col.object_id
    left join sys.types as t
    on col.user_type_id = t.user_type_id
order by 
    table_name,   col.column_id

2019年11月22日 星期五

SQL ORDER BY 指定排序

想要在結果傳回指定的排序














SELECT         Autoid,  ITEMName,  TypeCode
FROM            TypeData
WHERE        1=1
ORDER BY
 (  CASE
    WHEN  TypeCode= 'CRN'  THEN '01'
    WHEN  TypeCode= 'OTH' THEN '02'
    WHEN  TypeCode= 'PON' THEN '03'
    WHEN  TypeCode= 'CIN'  THEN '04'
    WHEN  TypeCode= 'CLT'  THEN '05'
    WHEN  TypeCode= 'INC'  THEN '06'
    ELSE  TypeCode
  END)



















2019年11月6日 星期三

[CMD應用] robocopy 三個資料夾同步備份

Robocopy 一用就愛上它,以下是同步備份的應用

我需要做到三個資料夾同步備份
下圖A 為原始資料夾,假設今日為11/3,這份檔案是會一直附加上去的
B為中繼資料夾,目的在於收到檔案後可以上傳至C
C為終點資料夾,希望只收到有新增的檔案,過去已經收過11/1 之前的則就不要再重複收到了




語法
robocopy <Source> <Destination> [<File>[ ...]] [<Options>]

參數
<Source >           指定來原始目錄的路徑。
<Destination >   指定目的地目錄的路徑。
<File >                 指定要複製的檔案。 如有需要,您可以 * 使用萬用字元(或 ? )。 如果未指定File參數, *. \ * 當做預設值使用。
<Options >         指定要與robocopy命令搭配使用的選項。
此次所應用到的相關參數
/maxage: <N > 指定檔案最長存留期(排除N天或日期之前的檔案)。
/minage: <N > 指定檔案最短存留期(排除比N天或日期更新的檔案)。
/mov 移動檔案,並在複製後從來源刪除檔案。


搭配排程,執行兩次robocopy

第一次 - 先做資料夾同步
"A:\TXT" "B:\TXT"
第二次  將一天以前的都搬移至備份資料夾
"A:\TXT" "A:\TXTBackup" /MOV /MINAGE:1



參考資料