Windows10 스티커 메모를 키워드로 검색하는 하나시
소개
Windwos10 스티커 메모 앱 (Microsoft Sticky Notes)의 데이터는 sqlite로 관리되는 것 같습니다!
잘하면 스티커 메모의 키워드 검색을 할 수 있습니다.
데이터 위치
%USERPROFILE%\AppData\Local\packages\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe\LocalState\plum.sqlite
데이터 내용
테이블 자체는 여러 개 있고, 스티커 메모의 데이터는 Note라는 테이블로 관리되는 모양
Note 구조
1 스티커 메모, 1 레코드로 구성된 패턴
열 이름
금형
PK
Not Null
비고
텍스트
varchar
스티커 메모 내용
WindowPosition
varchar
어쩌면 스티커 메모의 위치, Bese64 같기 때문에 인코딩됩니다
IsOpen
integer
표시: 0, 숨기기: 1
IsAlwaysOnTop
integer
0이 설정, 항상 맨 앞에 표시하는 설정이 있었나요?
CreationNoteIdAnchor
varchar
NULL 설정
Theme
varchar
스티커 메모의 색상 설정 (예 : 노란색 스티커 메모 = Yellow)
IsFutureNote
integer
0이 설정
RemoteId
varchar
NULL 설정
ChangeKey
varchar
NULL 설정
LastServerVersion
varchar
NULL 설정
RemoteSchemaVersion
integer
NULL 설정
IsRemoteDataInvalid
integer
NULL 설정
PendingInsightsScan
integer
NULL 설정
유형
varchar
NULL 설정
Id
varchar
○
○
UUID 설정
ParentId
varchar
UUID 설정
CreatedAt
bigint
수치 18자리가 설정
DeletedAt
bigint
NULL 설정
UpdatedAt
bigint
수치 18자리가 설정
일부 항목은 클라우드 저장 시 설정될 수 있습니다.
(시험하지 않음)
Text 정보
예를 들어, 이런 느낌의 스티커 메모가 있다고
스티커 메모 내용 (샘플)html {
height : 100%;
overflow: hidden;
}
body {
height : 100%;
overflow: auto;
}
Text 내용 (샘플)\id=0276d7d9-39d3-41bd-908b-f22a2f766d4f html {
\id=b504d61d-e1e9-40d0-9d0b-5a55bbaa84e7 height : 100%;
\id=add3d3ca-494b-4dd5-904a-c1e59926a24e overflow: hidden;
\id=30e210c6-2762-4db9-a699-c6fe3ed3fe12 }
\id=825775bd-b9a5-42d3-b010-6c1cf1bb8f78 body {
\id=ef22f95b-fd9d-463d-9b56-355e9cf03215 height : 100%;
\id=b47ac60c-1f5e-4ebc-bdf3-2876e37bf032 overflow: auto;
\id=57921bf5-dd95-4ded-b7ad-613341f3e800 }
개행 코드는 LF
각 행마다 선두에 ID(UUID)가 부여되고 있습니다만 용도는 불명
덧붙여서 스티커 메모의 내용은, 문자 수식이나 화상의 삽입도 할 수 있지만
그렇다면 Text가 어떻게 될지 알 수 없습니다.
키워드 검색을 위한 SQL
스티커 메모 키워드 검색WITH RECURSIVE SplitTextIntoLines(id,Lno,RetrievedText,RemainingText) AS
(
SELECT
Id,
1 Lno,
substr(Text, 1, INSTR(Text, CHAR(10)) - 1) RetrievedText,
substr(Text, INSTR(Text, CHAR(10)) + 1) || CHAR(10) RemainingText
FROM Note
UNION ALL
SELECT
Id,
Lno + 1,
SUBSTR(RemainingText, 1, INSTR(RemainingText, CHAR(10)) - 1) RetrievedText,
SUBSTR(RemainingText, INSTR(RemainingText, CHAR(10)) + 1) RemainingText
FROM SplitTextIntoLines
WHERE RemainingText != ''
)
, NoteForSearch AS
(
SELECT
SplitTextIntoLines.Id,
SplitTextIntoLines.Lno,
Note.IsOpen,
Note.Theme,
SUBSTR(SplitTextIntoLines.RetrievedText, 42) LineText
FROM SplitTextIntoLines
INNER JOIN Note
ON SplitTextIntoLines.Id = Note.Id
)
SELECT
Id,
IsOpen,
Theme,
Lno,
LineText
FROM NoteForSearch
WHERE LineText LIKE '%[検索ワード]%'
ORDER BY
Id,
Lno
;
재기 호출로 Text내의 개행으로 분할해, 행 단위가 되도록(듯이) 하고 있다
각 행의 선두의 ID도 불필요하므로 뱃사리 컷
사용할 때 [검색 키워드]를 원하는 키워드로 바꾸고 사용하십시오.
실행
SQLite 명령 줄 도구로 데이터 열기
sqlite3.exe에서 plum.sqlite에서 열기>sqlite3.exe %USERPROFILE%\AppData\Local\packages\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe\LocalState\plum.sqlite
SQL 입력
SQL 입력sqlite> WITH RECURSIVE SplitTextIntoLines(id,Lno,RetrievedText,RemainingText) AS
...> (
...> SELECT
...> Id,
...> 1 Lno,
...> substr(Text, 1, INSTR(Text, CHAR(10)) - 1) RetrievedText,
...> substr(Text, INSTR(Text, CHAR(10)) + 1) || CHAR(10) RemainingText
...> FROM Note
...> UNION ALL
...> SELECT
...> Id,
...> Lno + 1,
...> SUBSTR(RemainingText, 1, INSTR(RemainingText, CHAR(10)) - 1) RetrievedText,
...> SUBSTR(RemainingText, INSTR(RemainingText, CHAR(10)) + 1) RemainingText
...> FROM SplitTextIntoLines
...> WHERE RemainingText != ''
...> )
...> , NoteForSearch AS
...> (
...> SELECT
...> SplitTextIntoLines.Id,
...> SplitTextIntoLines.Lno,
...> Note.IsOpen,
...> Note.Theme,
...> SUBSTR(SplitTextIntoLines.RetrievedText, 42) LineText
...> FROM SplitTextIntoLines
...> INNER JOIN Note
...> ON SplitTextIntoLines.Id = Note.Id
...> )
...> SELECT
...> Id,
...> IsOpen,
...> Theme,
...> Lno,
...> LineText
...> FROM NoteForSearch
...> WHERE LineText LIKE '%html {%'
...> ORDER BY
...> Id,
...> Lno
...> ;
SQL 실행
SQL 실행cb3430ac-922c-4089-b60d-0b99a8f0e75c|1|Yellow|11|html {
열린 노란색 스티커 메모 11 행에있는 것 같습니다.
확인
스티커 메모 목록의 검색 기능으로 검색
SQL은 올바른 결과를 얻을 수 있었던 패턴
단, 검증 부족이므로 스티커 메모의 데이터에 따라서는 정상적으로 움직이지 않을 가능성이 있습니다!
요약
알 수없는 부분이 너무 많지만 키워드 검색은 가능했습니다.
했어!
Reference
이 문제에 관하여(Windows10 스티커 메모를 키워드로 검색하는 하나시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Yamazin/items/f85e548916aba2baa063
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
%USERPROFILE%\AppData\Local\packages\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe\LocalState\plum.sqlite
데이터 내용
테이블 자체는 여러 개 있고, 스티커 메모의 데이터는 Note라는 테이블로 관리되는 모양
Note 구조
1 스티커 메모, 1 레코드로 구성된 패턴
열 이름
금형
PK
Not Null
비고
텍스트
varchar
스티커 메모 내용
WindowPosition
varchar
어쩌면 스티커 메모의 위치, Bese64 같기 때문에 인코딩됩니다
IsOpen
integer
표시: 0, 숨기기: 1
IsAlwaysOnTop
integer
0이 설정, 항상 맨 앞에 표시하는 설정이 있었나요?
CreationNoteIdAnchor
varchar
NULL 설정
Theme
varchar
스티커 메모의 색상 설정 (예 : 노란색 스티커 메모 = Yellow)
IsFutureNote
integer
0이 설정
RemoteId
varchar
NULL 설정
ChangeKey
varchar
NULL 설정
LastServerVersion
varchar
NULL 설정
RemoteSchemaVersion
integer
NULL 설정
IsRemoteDataInvalid
integer
NULL 설정
PendingInsightsScan
integer
NULL 설정
유형
varchar
NULL 설정
Id
varchar
○
○
UUID 설정
ParentId
varchar
UUID 설정
CreatedAt
bigint
수치 18자리가 설정
DeletedAt
bigint
NULL 설정
UpdatedAt
bigint
수치 18자리가 설정
일부 항목은 클라우드 저장 시 설정될 수 있습니다.
(시험하지 않음)
Text 정보
예를 들어, 이런 느낌의 스티커 메모가 있다고
스티커 메모 내용 (샘플)html {
height : 100%;
overflow: hidden;
}
body {
height : 100%;
overflow: auto;
}
Text 내용 (샘플)\id=0276d7d9-39d3-41bd-908b-f22a2f766d4f html {
\id=b504d61d-e1e9-40d0-9d0b-5a55bbaa84e7 height : 100%;
\id=add3d3ca-494b-4dd5-904a-c1e59926a24e overflow: hidden;
\id=30e210c6-2762-4db9-a699-c6fe3ed3fe12 }
\id=825775bd-b9a5-42d3-b010-6c1cf1bb8f78 body {
\id=ef22f95b-fd9d-463d-9b56-355e9cf03215 height : 100%;
\id=b47ac60c-1f5e-4ebc-bdf3-2876e37bf032 overflow: auto;
\id=57921bf5-dd95-4ded-b7ad-613341f3e800 }
개행 코드는 LF
각 행마다 선두에 ID(UUID)가 부여되고 있습니다만 용도는 불명
덧붙여서 스티커 메모의 내용은, 문자 수식이나 화상의 삽입도 할 수 있지만
그렇다면 Text가 어떻게 될지 알 수 없습니다.
키워드 검색을 위한 SQL
스티커 메모 키워드 검색WITH RECURSIVE SplitTextIntoLines(id,Lno,RetrievedText,RemainingText) AS
(
SELECT
Id,
1 Lno,
substr(Text, 1, INSTR(Text, CHAR(10)) - 1) RetrievedText,
substr(Text, INSTR(Text, CHAR(10)) + 1) || CHAR(10) RemainingText
FROM Note
UNION ALL
SELECT
Id,
Lno + 1,
SUBSTR(RemainingText, 1, INSTR(RemainingText, CHAR(10)) - 1) RetrievedText,
SUBSTR(RemainingText, INSTR(RemainingText, CHAR(10)) + 1) RemainingText
FROM SplitTextIntoLines
WHERE RemainingText != ''
)
, NoteForSearch AS
(
SELECT
SplitTextIntoLines.Id,
SplitTextIntoLines.Lno,
Note.IsOpen,
Note.Theme,
SUBSTR(SplitTextIntoLines.RetrievedText, 42) LineText
FROM SplitTextIntoLines
INNER JOIN Note
ON SplitTextIntoLines.Id = Note.Id
)
SELECT
Id,
IsOpen,
Theme,
Lno,
LineText
FROM NoteForSearch
WHERE LineText LIKE '%[検索ワード]%'
ORDER BY
Id,
Lno
;
재기 호출로 Text내의 개행으로 분할해, 행 단위가 되도록(듯이) 하고 있다
각 행의 선두의 ID도 불필요하므로 뱃사리 컷
사용할 때 [검색 키워드]를 원하는 키워드로 바꾸고 사용하십시오.
실행
SQLite 명령 줄 도구로 데이터 열기
sqlite3.exe에서 plum.sqlite에서 열기>sqlite3.exe %USERPROFILE%\AppData\Local\packages\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe\LocalState\plum.sqlite
SQL 입력
SQL 입력sqlite> WITH RECURSIVE SplitTextIntoLines(id,Lno,RetrievedText,RemainingText) AS
...> (
...> SELECT
...> Id,
...> 1 Lno,
...> substr(Text, 1, INSTR(Text, CHAR(10)) - 1) RetrievedText,
...> substr(Text, INSTR(Text, CHAR(10)) + 1) || CHAR(10) RemainingText
...> FROM Note
...> UNION ALL
...> SELECT
...> Id,
...> Lno + 1,
...> SUBSTR(RemainingText, 1, INSTR(RemainingText, CHAR(10)) - 1) RetrievedText,
...> SUBSTR(RemainingText, INSTR(RemainingText, CHAR(10)) + 1) RemainingText
...> FROM SplitTextIntoLines
...> WHERE RemainingText != ''
...> )
...> , NoteForSearch AS
...> (
...> SELECT
...> SplitTextIntoLines.Id,
...> SplitTextIntoLines.Lno,
...> Note.IsOpen,
...> Note.Theme,
...> SUBSTR(SplitTextIntoLines.RetrievedText, 42) LineText
...> FROM SplitTextIntoLines
...> INNER JOIN Note
...> ON SplitTextIntoLines.Id = Note.Id
...> )
...> SELECT
...> Id,
...> IsOpen,
...> Theme,
...> Lno,
...> LineText
...> FROM NoteForSearch
...> WHERE LineText LIKE '%html {%'
...> ORDER BY
...> Id,
...> Lno
...> ;
SQL 실행
SQL 실행cb3430ac-922c-4089-b60d-0b99a8f0e75c|1|Yellow|11|html {
열린 노란색 스티커 메모 11 행에있는 것 같습니다.
확인
스티커 메모 목록의 검색 기능으로 검색
SQL은 올바른 결과를 얻을 수 있었던 패턴
단, 검증 부족이므로 스티커 메모의 데이터에 따라서는 정상적으로 움직이지 않을 가능성이 있습니다!
요약
알 수없는 부분이 너무 많지만 키워드 검색은 가능했습니다.
했어!
Reference
이 문제에 관하여(Windows10 스티커 메모를 키워드로 검색하는 하나시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Yamazin/items/f85e548916aba2baa063
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
html {
height : 100%;
overflow: hidden;
}
body {
height : 100%;
overflow: auto;
}
\id=0276d7d9-39d3-41bd-908b-f22a2f766d4f html {
\id=b504d61d-e1e9-40d0-9d0b-5a55bbaa84e7 height : 100%;
\id=add3d3ca-494b-4dd5-904a-c1e59926a24e overflow: hidden;
\id=30e210c6-2762-4db9-a699-c6fe3ed3fe12 }
\id=825775bd-b9a5-42d3-b010-6c1cf1bb8f78 body {
\id=ef22f95b-fd9d-463d-9b56-355e9cf03215 height : 100%;
\id=b47ac60c-1f5e-4ebc-bdf3-2876e37bf032 overflow: auto;
\id=57921bf5-dd95-4ded-b7ad-613341f3e800 }
스티커 메모 키워드 검색
WITH RECURSIVE SplitTextIntoLines(id,Lno,RetrievedText,RemainingText) AS
(
SELECT
Id,
1 Lno,
substr(Text, 1, INSTR(Text, CHAR(10)) - 1) RetrievedText,
substr(Text, INSTR(Text, CHAR(10)) + 1) || CHAR(10) RemainingText
FROM Note
UNION ALL
SELECT
Id,
Lno + 1,
SUBSTR(RemainingText, 1, INSTR(RemainingText, CHAR(10)) - 1) RetrievedText,
SUBSTR(RemainingText, INSTR(RemainingText, CHAR(10)) + 1) RemainingText
FROM SplitTextIntoLines
WHERE RemainingText != ''
)
, NoteForSearch AS
(
SELECT
SplitTextIntoLines.Id,
SplitTextIntoLines.Lno,
Note.IsOpen,
Note.Theme,
SUBSTR(SplitTextIntoLines.RetrievedText, 42) LineText
FROM SplitTextIntoLines
INNER JOIN Note
ON SplitTextIntoLines.Id = Note.Id
)
SELECT
Id,
IsOpen,
Theme,
Lno,
LineText
FROM NoteForSearch
WHERE LineText LIKE '%[検索ワード]%'
ORDER BY
Id,
Lno
;
재기 호출로 Text내의 개행으로 분할해, 행 단위가 되도록(듯이) 하고 있다
각 행의 선두의 ID도 불필요하므로 뱃사리 컷
사용할 때 [검색 키워드]를 원하는 키워드로 바꾸고 사용하십시오.
실행
SQLite 명령 줄 도구로 데이터 열기
sqlite3.exe에서 plum.sqlite에서 열기>sqlite3.exe %USERPROFILE%\AppData\Local\packages\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe\LocalState\plum.sqlite
SQL 입력
SQL 입력sqlite> WITH RECURSIVE SplitTextIntoLines(id,Lno,RetrievedText,RemainingText) AS
...> (
...> SELECT
...> Id,
...> 1 Lno,
...> substr(Text, 1, INSTR(Text, CHAR(10)) - 1) RetrievedText,
...> substr(Text, INSTR(Text, CHAR(10)) + 1) || CHAR(10) RemainingText
...> FROM Note
...> UNION ALL
...> SELECT
...> Id,
...> Lno + 1,
...> SUBSTR(RemainingText, 1, INSTR(RemainingText, CHAR(10)) - 1) RetrievedText,
...> SUBSTR(RemainingText, INSTR(RemainingText, CHAR(10)) + 1) RemainingText
...> FROM SplitTextIntoLines
...> WHERE RemainingText != ''
...> )
...> , NoteForSearch AS
...> (
...> SELECT
...> SplitTextIntoLines.Id,
...> SplitTextIntoLines.Lno,
...> Note.IsOpen,
...> Note.Theme,
...> SUBSTR(SplitTextIntoLines.RetrievedText, 42) LineText
...> FROM SplitTextIntoLines
...> INNER JOIN Note
...> ON SplitTextIntoLines.Id = Note.Id
...> )
...> SELECT
...> Id,
...> IsOpen,
...> Theme,
...> Lno,
...> LineText
...> FROM NoteForSearch
...> WHERE LineText LIKE '%html {%'
...> ORDER BY
...> Id,
...> Lno
...> ;
SQL 실행
SQL 실행cb3430ac-922c-4089-b60d-0b99a8f0e75c|1|Yellow|11|html {
열린 노란색 스티커 메모 11 행에있는 것 같습니다.
확인
스티커 메모 목록의 검색 기능으로 검색
SQL은 올바른 결과를 얻을 수 있었던 패턴
단, 검증 부족이므로 스티커 메모의 데이터에 따라서는 정상적으로 움직이지 않을 가능성이 있습니다!
요약
알 수없는 부분이 너무 많지만 키워드 검색은 가능했습니다.
했어!
Reference
이 문제에 관하여(Windows10 스티커 메모를 키워드로 검색하는 하나시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Yamazin/items/f85e548916aba2baa063
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
>sqlite3.exe %USERPROFILE%\AppData\Local\packages\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe\LocalState\plum.sqlite
sqlite> WITH RECURSIVE SplitTextIntoLines(id,Lno,RetrievedText,RemainingText) AS
...> (
...> SELECT
...> Id,
...> 1 Lno,
...> substr(Text, 1, INSTR(Text, CHAR(10)) - 1) RetrievedText,
...> substr(Text, INSTR(Text, CHAR(10)) + 1) || CHAR(10) RemainingText
...> FROM Note
...> UNION ALL
...> SELECT
...> Id,
...> Lno + 1,
...> SUBSTR(RemainingText, 1, INSTR(RemainingText, CHAR(10)) - 1) RetrievedText,
...> SUBSTR(RemainingText, INSTR(RemainingText, CHAR(10)) + 1) RemainingText
...> FROM SplitTextIntoLines
...> WHERE RemainingText != ''
...> )
...> , NoteForSearch AS
...> (
...> SELECT
...> SplitTextIntoLines.Id,
...> SplitTextIntoLines.Lno,
...> Note.IsOpen,
...> Note.Theme,
...> SUBSTR(SplitTextIntoLines.RetrievedText, 42) LineText
...> FROM SplitTextIntoLines
...> INNER JOIN Note
...> ON SplitTextIntoLines.Id = Note.Id
...> )
...> SELECT
...> Id,
...> IsOpen,
...> Theme,
...> Lno,
...> LineText
...> FROM NoteForSearch
...> WHERE LineText LIKE '%html {%'
...> ORDER BY
...> Id,
...> Lno
...> ;
cb3430ac-922c-4089-b60d-0b99a8f0e75c|1|Yellow|11|html {
스티커 메모 목록의 검색 기능으로 검색
SQL은 올바른 결과를 얻을 수 있었던 패턴
단, 검증 부족이므로 스티커 메모의 데이터에 따라서는 정상적으로 움직이지 않을 가능성이 있습니다!
요약
알 수없는 부분이 너무 많지만 키워드 검색은 가능했습니다.
했어!
Reference
이 문제에 관하여(Windows10 스티커 메모를 키워드로 검색하는 하나시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Yamazin/items/f85e548916aba2baa063
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Windows10 스티커 메모를 키워드로 검색하는 하나시), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Yamazin/items/f85e548916aba2baa063텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)