« 2016年3月 | トップページ | 2017年9月 »
32x32(または 16x16)
左上隅の2x2(または1x1)を黒にしておくと、背景が暗転しない。
保存形式は24bit bitmap
発生現象:
「お気に入りバー」フォルダ内のdesktop.iniをreadonlyにするとよさそう。
attrib C:\Users\%username%\Favorites\Links\desktop.ini +r +h +s
この過程でアクセス拒否に遭う模様。
通常、desktop.iniは逐次化のため、排他エラーをリトライするものなのに、「お気に入りバーに追加」は慣れないことをするのでこうなるのでしょう。
id= namr=.url
javascript:(function(x){x.insertRule('*[id]:before {content: "id=" attr(id);border: 1px solid red;color:red;}',x.cssRules.length);x.insertRule('*[name]:before {content: "name=" attr(name);border: 1px solid red;color:red;}',x.cssRules.length);})(document.styleSheets[document.styleSheets.length-1])
ユーザスタイルシートよりブックマークのほうが使いやすい。
記事編集で引用(blockquote)を挿入するのは面倒です。
こういうもの。一般に引用であることを示す。
選択範囲に対して<blockquote>を挿入するブックマークレット
blockquote.url
javascript:(function(w){var range=w.getSelection().getRangeAt(0);var newNode=w.document.createElement('blockquote');newNode.appendChild(range.extractContents());range.insertNode(w.document.createElement('br'));range.insertNode(newNode);})(frames[parseInt(frames.length/3)])
対象:
マイクロソフトコミュニティ
Msdnフォーラム
TechNetフォーラム
Niftyココログ
記事作成時にwebページのリンクを挿入するのは面倒です。
「インターネットショートカットをドロップすると、そのページへのリンクを作成して、コピーするhta」があれば、インターネットショートカットをhtaのショートカットにドロップして、貼り付けるだけで済みます。
リンクを作成してコピー.hta
<html>
<head>
<script language=vbscript>
Option Explicit
Sub window_onload
Dim fQuoting
Dim k
fQuoting=False
For k=1 To Len(hta.commandLine)
Select Case Mid(hta.commandLine,k,1)
Case Chr(34) fQuoting=Not fQuoting
Case Chr(32) If Not fQuoting Then Exit For
End Select
Next
Dim Link,fso,file
set fso=CreateObject("Scripting.FileSystemObject")
set File=fso.GetFile(Trim(Replace(Mid(hta.commandLine,k+1),"""","")))
Set Link=CreateObject("WScript.Shell").CreateShortCut(file.Path)
document.links(0).href=Link.TargetPath
document.links(0).innerText=fso.GetBaseName(Link.FullName)
document.execCommand "SelectAll"
document.execCommand "Copy"
close
End Sub
</script>
</head>
<body>
<a href=></a>
</body>
</html>
<hta:application id=hta />
標準では、htaにはドロップできないので、mshta.exeのショートカットにドロップする。
リンクを作成してコピー.lnk
mshta.exe "(フルパス)\リンクを作成してコピー.hta"
これをお気に入りに入れておく。
記事作成時にwebページのリンクを挿入するのは面倒です。
「現在のページのリンクを作成して、コピーするブックマークレット」があれば、そのwebページを開いてブックマークレットを実行して、貼り付けるだけで済みます。
リンクを作成してコピー.url
javascript:with(document.body.createTextRange()){collapse();pasteHTML('<a href="'+window.location+'">'+window.document.title+'</a>');moveStart('textedit',-1);execCommand('Cut');}
edgeでは直接、ブックマークレットを作れない。
ieで作って、ieからhtmlファイルにエクスポートして、edgeでhtmlファイルからインポートする。
Edgeにはユーザスタイルシートがない。ブックマークレットで代替するしかない。
javascript:(function(x){x.insertRule('ルール1',x.cssRules.length);})(document.styleSheets[document.styleSheets.length-1])
javascript:(function(x){x.insertRule('ルール1',x.cssRules.length);x.insertRule('ルール2',x.cssRules.length);})(document.styleSheets[document.styleSheets.length-1])
選択、、右クリック、「Bingで翻訳」をクリックしても、翻訳ページが開かない。
Bingで翻訳.url
javascript:open("https://www.bing.com/translator/?to=&from=&ref=IE8Activity&text="+encodeURI(getSelection()),"_blank");void(0)
*[id]:before {content: "id=" attr(id);border: 1px solid red;color:red;}
*[name]:before {content: "name=" attr(name);border: 1px solid red;color:red;}
about:blankをieのホームページにしても、戻る/進むhistoryに残らないので、戻れない。
そこでabout:blankの代わりにres://mshtml.dll/blank.htmをieのホームページにする。
res://mshtml.dll/blank.htmは戻る/進むhistoryに残る。
戻る/進むhistoryが長いと展開しても先頭が表示されない。
そんなときでも、戻る/進むhistoryの先頭に一気に戻るブックマークレット
go home.url
javascript:for(k=history.length;k;k--){history.go(-k);}
エクスプローラの「パスのコピー」でパス名のリストがクリップボードに入る。
"パス名1"
"パス名2"
から"を削除して
パス名1
パス名2
に加工するブックマークレット
%~1.url
javascript:clipboardData.setData('text',clipboardData.getData('text').replace(/"/gm,''))
"フォルダパス名\ファイル名1"
"フォルダパス名\ファイル名2"
から"フォルダパス名\ "を削除して
ファイル名1
ファイル名2
に加工するブックマークレット
%~nx1.url
javascript:clipboardData.setData('text',clipboardData.getData('text').replace(/^.*\\/gm,'').replace(/"/gm,''))
webページを選択コピーして、メモ帳に貼り付けると、HTMLが失われます。
メモ帳.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" ""><HTML><HEAD>
<META http-equiv="Content-Type" content="text/html; charset=shift_jis">
<SCRIPT>
document.designMode='On';
</SCRIPT><META name="GENERATOR" content="MSHTML 11.00.10570.1001"></HEAD>
<BODY></BODY></HTML>
これをお気に入りに入れておきます。
これを開いて、貼り付けると、HTMLが保存されます。
「ファイル」、「名前を付けて保存」するか、「ファイル」、「保存」で元ファイルに保存します。後者の場合は、開く前に予めドラッグドロップなどでコピーを作っておきます。上書き保存したら適宜名前を変えます。
blank.txt
ダンプしたい長さ分だけ空白を詰める。
fc /b ファイルblank.txt
管理者として実行.reg
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\runas]
[HKEY_CLASSES_ROOT\Directory\Background\shell\runas\command]
@="cmd.exe /s /k pushd \"%V\""
ieの「お気に入り」が巨大化すると、「お気に入りに追加」で数分black outする、など支障が出る。
これは、「お気に入りに追加」で表示されるフォルダ一覧の生成に時間が掛かるせいである。
「お気に入りに追加」で表示されるフォルダ一覧は最大2スクロール分程度にすることを勧める。
そのためには、
普通「リンク」フォルダは使うことがないので隠し属性にしている。
この中に使用頻度の低いフォルダを入れる。
「リンク」フォルダは通常表示されないので、代わりにそのショートカットを入れておく。必要な場合は、それで、「リンク」フォルダをエクスプローラで開く。
あるいは、
リンク表示.vbs
Set Shell=CreateObject("Shell.Application")
Set Folder=Shell.NameSpace("shell:Favorites\リンク")
For Each FolderItem In Folder.Items
If InStr(FolderItem.Name,"- ショートカット") Then
FolderItem.InvokeVerb "delete"
End If
Next
For Each FolderItem In Folder.Items
For Each Verb In FolderItem.Verbs
If Verb.Name="ショートカットの作成(&S)" Then
Verb.DoIt
WScript.Quit
End If
Next
Next
を入れておく。これで、「リンク」フォルダが「お気に入りセンタ」に一時的に表示される。
都合により「リンク」フォルダにショートカットがひとつできるが気にしない。
ILshowDot.cmd フォルダ
ILshowDot.cmd
@echo off
for /r %1 %%1 in (.) do (
set x=
for /f "delims=" %%i in ('icacls "%%~1"') do (
for /f "tokens=1,3 delims=\: " %%j in ("%%i") do (
if "%%j"=="Mandatory" (
set x=%%k
call echo;%%x:~0,6%% %%~nx1
)
)
)
if not defined x echo;Med %%~nx1
)
整合性レベル低でないものだけをリストするには、
rem call echo;%%x:~0,6%% %%~nx1
に変える。
ILshowALL.cmd フォルダ
ILshowALL.cmd
@echo off
for /r %1 %%1 in (*) do (
set x=
for /f "delims=" %%i in ('icacls "%%~1"') do (
for /f "tokens=1,3 delims=\: " %%j in ("%%i") do (
if "%%j"=="Mandatory" (
set x=%%k
call echo;%%x:~0,6%% %%~nx1
)
)
)
if not defined x echo;Med %%~nx1
)
整合性レベル低でないものだけをリストするには、
rem call echo;%%x:~0,6%% %%~nx1
に変える。
ILshow.cmd ファイル...
ILshow.cmd
@echo off
for %%1 in (%*) do (
set x=
for /f "delims=" %%i in ('icacls "%%~1"') do (
for /f "tokens=1,3 delims=\: " %%j in ("%%i") do (
if "%%j"=="Mandatory" (
set x=%%k
call echo;%%x:~0,6%% %%~nx1
)
)
)
if not defined x echo;Med %%~nx1
)
結果は
Low ファイル名
Med ファイル名
画像のExif情報を取得する、設定する
.NET Tips C#, VB.NET
をコマンドに加工する。
GetExif.VB
Public Class Class1
Public Shared Sub Main(ByVal Args() As String)
For k As Integer =0 To UBound(Args)
'画像ファイル名
Dim imgFile As String = Args(k)
'読み込む
Dim bmp As New System.Drawing.Bitmap(imgFile)
'Exif情報を列挙する
Dim item As System.Drawing.Imaging.PropertyItem
For Each item In bmp.PropertyItems
'データの型を判断
If item.Type = 2 Then
'ASCII文字の場合は、文字列に変換する
Dim val As String = System.Text.Encoding.UTF8.GetString(item.Value)
val = val.Trim(New Char() {ControlChars.NullChar})
'表示する
Console.WriteLine("{0:X}:{1}:{2}", item.Id, item.Type, val)
Else
'表示する
Console.WriteLine("{0:X}:{1}:{2}", item.Id, item.Type, item.Len)
End If
Next item
bmp.Dispose()
Next k
End Sub
End Class
VBC4.CMD
@ECHO OFF
SETLOCAL
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\vbc.exe" /out:"%~dpn1.exe" "%~f1"
IF ERRORLEVEL 1 PAUSE
GetExif.VB を GetExif.VB にドラッグドロップすると GetExif.exe ができる。
使用法は、
コマンドラインで
GetExif.exe jpegファイル 複数可
GUIで、jpegファイル 複数可を GetExif.exe にドラッグドロップする。
Jpeg
ファイルの GPS Exif を PowerShell で削除する
をpowershellバッチファイルに加工する。
removeExif.cmd
使用法はPowerShell.exe -command "function RemoveGPSExif( $JpegFile ){$FileName = Split-Path $JpegFile -Leaf;if( (($FileName -split '\.')[1] -ne 'jpg' ) -and (($FileName -split '\.')[1] -ne 'jpeg' )){return;}$JpegFileFullName = Convert-Path $JpegFile -ErrorAction SilentlyContinue;if( $JpegFileFullName -eq $null){echo '$JpegFile not convert full path.';return;}if( -not ( Test-Path $JpegFileFullName )){echo '$JpegFile not found';return;}$TempFile = $JpegFileFullName + '.tmp';Add-Type -AssemblyName System.Drawing;$bmp = New-Object System.Drawing.Bitmap($JpegFileFullName);$Index = $bmp.PropertyItems.Length;for ( $i = 0; $i -lt $Index; $i++ ){$Item = $bmp.PropertyItems[$i];$ID = $Item.Id;$Item.Len = 0;$Item.Value = $null;$bmp.SetPropertyItem($Item);}$bmp.Save($TempFile, [System.Drawing.Imaging.ImageFormat]::Jpeg );$bmp.Dispose();del $JpegFileFullName;ren $TempFile $JpegFileFullName;}RemoveGPSExif '%~1'"
GUIで、jpegファイルをremoveExif.cmdにドラッグドロップ。removeExif.cmd jpegファイル
コマンドプロンプト.reg
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\cmd2]
@="コマンドプロンプト"
[HKEY_CLASSES_ROOT\Directory\Background\shell\cmd2\command]
@="cmd.exe /s /k pushd \"%V\""
DesktopBackground.reg
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\DesktopBackground\Shell\explorer]
@="エクスプローラ"
[HKEY_CLASSES_ROOT\DesktopBackground\Shell\explorer\command]
@="explorer.exe \"%V\""
PowerShell.exe "Add-Type -AssemblyName System.Windows.Forms;[Windows.Forms.Application]::SetSuspendState([Windows.Forms.PowerState]::Suspend,$false,$false);"
ショートカットは最小化。
URLのhash(#name)がずれるとき、再度、アドレスバーをエンターするなどで、指定位置にスクロールされる。これをブックマークレットで行う。
reload
javascript:location.replace(location.href)