ã³ãŒããèªããªããŠã倧äžå€«ãAIãšäœãããã¯ããŒã¯æŽçã¹ã¯ãªãã
ð ã¯ããã«
ãã€ãèšäºãèŠãŠããã ããŠãããããšãããããŸãã
ç§ã¯é³å£°ããœã³ã³ã䜿ã£ãŠããå šç²ã®ã¯ãªãšã€ã¿ãŒã§ããããŒããŒãã ãã§ããœã³ã³ãæäœããŠãããšãã©ãããŠãããã®ãµã€ããã©ãã ã£ãïŒããšæ¢ãæéãããã£ãŠããŸããã§ãããã
Chromeã®ããã¯ããŒã¯ããŒã¯äŸ¿å©ãªãã§ãããããããç»é²ããŠãããšç®çã®ãµã€ãã«ãã©ãçããŸã§ãäžèŠåŽãã¹ã¯ãªãŒã³ãªãŒããŒã§äžã€ãã€èªã¿äžããŠããã®ã¯ãæ£çŽããã©ããšãããããŸãã
ããã§ä»åã¯ãããã¯ããŒã¯ããã¹ã¯ãããã«ãŸãšããŠæžãåºãã¹ã¯ãªãããäœã£ãŠã¿ãŸããããããªãããšã¯ã¹ãããŒã©ã§ãã¡ã€ã«åãèªã¿äžããªãããµã€ããæ¢ããŸããèŠããæ¹ã«ãšã£ãŠããããã¯ããŒã¯ã®ããã¯ã¢ãããæŽçã«åœ¹ç«ã€ãšæããŸãã®ã§ããã²æåŸãŸã§èªãã§ããã ãããšããããã§ãã
ð ãã®èšäºã§åŸãããããš
Chromeã®ããã¯ããŒã¯ãã©ãã«ä¿åãããŠãããåãã
ããã¯ããŒã¯ã.urlãã¡ã€ã«ïŒInternet Exploreræä»£ã®ããæ°ã«å ¥ãããšåã圢åŒïŒãšããŠäžæ¬åºåã§ãã
ãã¹ã¯ãããããããã«ã¯ãªãã¯ã§ãµã€ããéããããã«ãªã
ã¹ã¯ãªãŒã³ãªãŒããŒã§ãã¡ã€ã«åãèªã¿äžããŠç®çã®ãµã€ããæ¢ãã
PowerShellã¹ã¯ãªããã®åºæ¬çãªä»çµã¿ãçè§£ã§ãã
èªåã§ã«ã¹ã¿ãã€ãºããããã®ç¥èã身ã«ã€ã
AIãã£ããã䜿ã£ãŠåæ§ã®ã¹ã¯ãªãããäœãæ¹æ³ãåãã
ð äœ¿ãæ¹ïŒãããã3ã¹ãããïŒ
2ã€ã®ãã¡ã€ã«ïŒChrome_bookmarks.ps1ãšget.batïŒãåããã©ã«ãã«ä¿å
get.batãããã«ã¯ãªãã¯
ãã¹ã¯ãããã«ãChrome_Bookmarksããã©ã«ããäœæããã
ããã ãã§ããã¯ããŒã¯ã.urlãã¡ã€ã«ãšããŠäžèЧåãããŸãã

ð» ã¹ã¯ãªããã®å šäœå
å®è¡çšããããã¡ã€ã«ïŒget.batïŒ
powershell.exe -NoProfile -ExecutionPolicy Bypass -File "%~dp0Chrome_bookmarks.ps1"PowerShellã®å®è¡ããªã·ãŒãäžæçã«BypassããŠãåããã©ã«ãå ã®ã¹ã¯ãªãããå®è¡ããŸãã
ã¡ã€ã³ã¹ã¯ãªããïŒChrome_bookmarks.ps1ïŒ
$OutRoot = Join-Path ([Environment]::GetFolderPath("Desktop")) "Chrome_Bookmarks"
$BookmarkFile = Join-Path $env:LOCALAPPDATA "Google\Chrome\User Data\Default\Bookmarks"
New-Item -ItemType Directory -Force -Path $OutRoot | Out-Null
function Sanitize-FileName([string]$name) {
 $s = [string]$name
 $s = $s -replace '[\\/:*?"<>|]', ' '
 $s = $s -replace '\s+', ' '
 $s = $s.Trim()
 $s = $s.TrimEnd('.', ' ')
 if ([string]::IsNullOrWhiteSpace($s)) { $s = "NoTitle" }
 $upper = $s.ToUpperInvariant()
 $reserved = @("CON","PRN","AUX","NUL","COM1","COM2","COM3","COM4","COM5","COM6","COM7","COM8","COM9","LPT1","LPT2","LPT3","LPT4","LPT5","LPT6","LPT7","LPT8","LPT9")
 if ($reserved -contains $upper) { $s = "_" + $s }
 $maxLen = 120
 if ($s.Length -gt $maxLen) { $s = $s.Substring(0, $maxLen).TrimEnd('.', ' ') }
 $s
}
function New-UrlShortcut([string]$path, [string]$url) {
 $content = "[InternetShortcut]`r`nURL=$url`r`n"
 [System.IO.File]::WriteAllText($path, $content, [System.Text.Encoding]::ASCII)
}
function Walk($node) {
 if ($null -eq $node) { return }
 if ($node.PSObject.Properties.Name -contains "children") {
  foreach ($c in $node.children) { Walk $c }
  return
 }
 if ($node.PSObject.Properties.Name -contains "url") {
  $script:seq++
  $safe = Sanitize-FileName ([string]$node.name)
  $filename = "{0:D5}_{1}.url" -f $script:seq, $safe
  $fullpath = Join-Path $OutRoot $filename
  New-UrlShortcut -path $fullpath -url ([string]$node.url)
 }
}
if (!(Test-Path $BookmarkFile)) {
 Write-Host "Bookmarks not found: $BookmarkFile"
 exit 1
}
Get-ChildItem -Path $OutRoot -File -ErrorAction SilentlyContinue | Remove-Item -Force -ErrorAction SilentlyContinue
$script:seq = 0
$json = Get-Content -Path $BookmarkFile -Raw -Encoding UTF8 | ConvertFrom-Json
foreach ($rootName in $json.roots.PSObject.Properties.Name) {
 Walk $json.roots.$rootName
}
Write-Host "Done"ð ã³ãŒã解説ïŒã¹ããããã€ã¹ãããïŒ
ã¹ããã1ïŒåºåå ãšããã¯ããŒã¯ã®å Žæãæå®
$OutRoot = Join-Path ([Environment]::GetFolderPath("Desktop")) "Chrome_Bookmarks"
$BookmarkFile = Join-Path $env:LOCALAPPDATA "Google\Chrome\User Data\Default\Bookmarks"ãã¹ã¯ãããã«ãChrome_Bookmarksããã©ã«ããäœæããå ŽæãšãChromeã®ããã¯ããŒã¯ãã¡ã€ã«ïŒJSON圢åŒïŒã®å Žæãæå®ããŠããŸãã
ã¹ããã2ïŒåºåãã©ã«ããäœæ
New-Item -ItemType Directory -Force -Path $OutRoot | Out-Nullãã©ã«ãããªããã°äœæãããã°ãã®ãŸãŸäœ¿çšããŸãã
ã¹ããã3ïŒãã¡ã€ã«åãå®å šã«ãã颿°
Windowsã®ãã¡ã€ã«åã«äœ¿ããªãæåïŒ\ / : * ? " < > |ïŒãã¹ããŒã¹ã«çœ®æããŸãããŸããCONãPRNãªã©Windowsã®äºçŽèªã¯å é ã«ã_ããä»ããŠåé¿ããé·ããããã¡ã€ã«åã¯120æåã§åãè©°ããŸãã
ã¡ãªã¿ã«ãCONãPRNãLPT1ãªã©ã¯MS-DOSæä»£ããã®ãäºçŽããã€ã¹åãã§ãããªã³ã¿ãŒãã·ãªã¢ã«ããŒããæãååã§ããããã¯ããŒã¯ãšã¯é¢ä¿ãªãããã§ãããããŸããŸåãååã®ãµã€ãããããšãšã©ãŒã«ãªãããã念ã®ããã®å¯ŸçãšããŠå ¥ããŠããŸãã
ã¹ããã4ïŒ.urlã·ã§ãŒãã«ãããäœæãã颿°
.urlãã¡ã€ã«ã®äžèº«ã¯ã·ã³ãã«ãªããã¹ã圢åŒã§ãã[InternetShortcut]ãšURL=ã®2è¡ã ãã§åäœããŸãã
ã¹ããã5ïŒããã¯ããŒã¯ãååž°çã«åŠçãã颿°
ãã©ã«ããªãäžèº«ãååž°çã«åŠçããããã¯ããŒã¯ãªã.urlãã¡ã€ã«ãåºåããŸãããã¡ã€ã«åã¯ã00001_ãµã€ãå.urlãã®é£çªåœ¢åŒã§ãã
ã¹ããã6ïŒã¡ã€ã³åŠç
ããã¯ããŒã¯ãã¡ã€ã«ãååšããã確èªããæ¢åã®åºåãã¡ã€ã«ãã¯ãªã¢ããŠãããJSONãèªã¿èŸŒãã§ããã¯ããŒã¯ãé çªã«åŠçããŸãã
ð å®å šæ§ã«ã€ããŠ
ãã®ã¹ã¯ãªããã¯ä»¥äžã®ç¹ã§å®å šã§ãã
èªã¿åãå°çšïŒBookmarksãã¡ã€ã«ã¯èªã¿åãã®ã¿ã§å€æŽããŸãã
æžã蟌ã¿å éå®ïŒãã¹ã¯ãããã®å°çšãã©ã«ãå ã«ã®ã¿æžã蟌ã¿ãŸã
å€éšéä¿¡ãªãïŒã€ã³ã¿ãŒããããžã®æ¥ç¶ã¯è¡ããŸãã
å±éºãªã³ãã³ããªãïŒInvoke-Expressionãªã©ã®å±éºãªã³ãã³ãã¯äœ¿çšããŠããŸãã
ð€ AIãã£ããã§èªåã§äœãããæ¹ãž
ã³ãŒããçŽæ¥ã³ããŒããã®ãäžå®ãªæ¹ã¯ã以äžã®ããã³ãããAIãã£ããïŒChatGPTãClaudeãGeminiãªã©ïŒã«æž¡ããŠãã ãããèªåã®ç°å¢ã«åãããã¹ã¯ãªãããçæããŠããããŸãã
以äžã®èŠä»¶ã§PowerShellã¹ã¯ãªãããäœæããŠãã ããã
ãç®çã
Chromeã®ããã¯ããŒã¯ããã¹ã¯ãããã«.urlãã¡ã€ã«ãšããŠäžæ¬åºåãã
ãç°å¢ã
- Windows 11ïŒWindows 10ã§ãåäœããããšïŒ
- Google ChromeïŒããã©ã«ããããã¡ã€ã«ïŒ
ãå
¥åã
- Chromeã®ããã¯ããŒã¯ãã¡ã€ã«ïŒJSON圢åŒïŒ
- å Žæ: %LOCALAPPDATA%\Google\Chrome\User Data\Default\Bookmarks
ãåºåã
- ãã¹ã¯ãããã«ãChrome_Bookmarksããã©ã«ããäœæ
- åããã¯ããŒã¯ã.urlãã¡ã€ã«ïŒã€ã³ã¿ãŒãããã·ã§ãŒãã«ããïŒãšããŠåºå
- ãã¡ã€ã«å圢åŒ: 00001_ãµã€ãå.urlïŒ5æ¡é£çªïŒ
ãå¿
é èŠä»¶ã
1. ãã¡ã€ã«åã®ãµãã¿ã€ãº
 - Windowsã§äœ¿ããªãæåïŒ\ / : * ? " < > |ïŒãé€å»ãŸãã¯çœ®æ
 - é£ç¶ãã空çœã1ã€ã«ãŸãšãã
 - Windowsã®äºçŽèªïŒCON, PRN, AUX, NUL, COM1-9, LPT1-9ïŒãåé¿
 - ãã¡ã€ã«åãé·ãããå Žåã¯120æåã§åãè©°ã
2. ãã©ã«ãæ§é
 - ããã¯ããŒã¯ã®ãã©ã«ãéå±€ã¯ç¡èŠããŠãã©ããã«åºå
 - æ¢åã®åºåãã¡ã€ã«ã¯å®è¡æã«ã¯ãªã¢
3. å®å
šæ§
 - èªã¿åãå°çšïŒBookmarksãã¡ã€ã«ã倿ŽããªãïŒ
 - åºåãã©ã«ã以å€ã«ã¯æžã蟌ãŸãªã
4. æåã³ãŒã
 - ã¹ã¯ãªããå
ã«æ¥æ¬èªã䜿ããªãïŒæååã鲿¢ïŒ
 - ã¡ãã»ãŒãžã¯è±èªã§åºå
ãå®è¡æ¹æ³ã
- ããã«ã¯ãªãã¯ã§å®è¡ã§ããããããã¡ã€ã«ïŒ.batïŒãäœæ
- PowerShellã®å®è¡ããªã·ãŒãBypassããŠå®è¡
- ããããã¡ã€ã«ãšã¹ã¯ãªããã¯åããã©ã«ãã«é
眮ããæ³å®â¡ ã¹ã¿ãŒãã¢ããã«ç»é²ããŠèªåæŽæ°
æ¯åæåã§å®è¡ããã®ãé¢åãªæ¹ã¯ãget.batãWindowsã®ã¹ã¿ãŒãã¢ãããã©ã«ãã«ç»é²ããŠãããšäŸ¿å©ã§ããããœã³ã³ãèµ·åãããã³ã«ãããã¯ããŒã¯ãèªåã§ææ°ã®ç¶æ ã«æŽæ°ãããŸãã
ã¹ã¿ãŒãã¢ãããã©ã«ãã®éãæ¹ïŒ
Windowsã㌠+ R ãæŒã
ãshell:startupããšå ¥åããŠEnter
éãããã©ã«ãã«get.batã®ã·ã§ãŒãã«ããã眮ã
ããã§ãWindowsãç«ã¡äžãããã³ã«ãã¹ã¯ãããã®ããã¯ããŒã¯äžèЧãèªåæŽæ°ãããããã«ãªããŸãã
âš ãŸãšã
ä»åã¯ãChromeã®ããã¯ããŒã¯ããã¹ã¯ãããã«äžæ¬åºåããã¹ã¯ãªããã玹ä»ããŸããã
ç§èªèº«ããã®ã¹ã¯ãªããã䜿ãå§ããŠãããããã¯ããŒã¯æ¢ãã®ã¹ãã¬ã¹ãããªãæžããŸããããšã¯ã¹ãããŒã©ã§ãã¡ã€ã«åãèªã¿äžããªãããããããããããšãµã€ããèŠã€ããããã®ã¯ãæã£ã以äžã«å¿«é©ã§ãã
èŠããæ¹ã«ãšã£ãŠããããã¯ããŒã¯ã®ããã¯ã¢ãããšããŠäœ¿ããŸããããæè¿ã©ããªãµã€ããããã¯ããŒã¯ããã£ãïŒããšæ¯ãè¿ãã®ã«ã䟿å©ã ãšæããŸãã
ã¹ã¯ãªããããã®ãŸãŸã³ããŒããŠäœ¿ã£ãŠããã ããŠãããã§ãããèšäºã®æåŸã«èŒããèŠä»¶å®çŸ©ãAIãã£ããã«æž¡ããŠãèªå奜ã¿ã«ã«ã¹ã¿ãã€ãºããŠããã ãããšãã§ããŸãã
å®ã¯ãAIãåºãŠããåã¯èªåã§ã³ãŒãã£ã³ã°ããŠãããã§ãããæè¿ã¯ãã£ã±ãClaude Codeé Œãã«ãªã£ãŠããŸããä»åã®ã¹ã¯ãªãããClaude Codeãšäžç·ã«äœããŸããã
äžæ°ã«å€§ããå¹çåããã®ã倧äºãªãã§ããããããã£ãŠ1ã€1ã€å°ããªå¹çåãç©ã¿éããŠããã®ããå®ã¯ãšãŠãéèŠãªã®ããªãšæãããšããããŸãã仿¥ã®ããã¯ããŒã¯æŽçããææ¥ã®äœæ¥ãå°ãã ãæ¥œã«ããŠããããããããå°ããªç©ã¿éãããæ°ã¥ããã倧ããªå·®ã«ãªã£ãŠããã®ãããããŸããã
ã¡ãªã¿ã«ãä»ååºåããŠãã.urlãã¡ã€ã«ã¯ãæã®Internet Explorerã§äœ¿ãããŠããããæ°ã«å ¥ãããšåã圢åŒã§ããæããããšæããæ¹ãããã£ããããããããŸããããWindowsã®æšæºæ©èœãªã®ã§ãç¹å¥ãªãœãããã€ã³ã¹ããŒã«ããªããŠãããã«ã¯ãªãã¯ã§ãã©ãŠã¶ãéããŸãã
æåŸãŸã§èªãã§ããã ããŠãããããšãããããŸããããã®èšäºã圹ã«ç«ã£ããšæã£ãŠããã ããããã¹ãããã©ããŒãããŠããã ãããšãšãŠãå±ã¿ã«ãªããŸãã
#Windows11 #Chrome #PowerShell #AIæŽ»çš #ã¢ã¯ã»ã·ããªãã£