<html>
<head>
<title>ファイル名の付け替えツール - Copyright (c) 2005, 2006 AOK.</title>
<hta:application
applicationName="Rename Tool"
border="dialog"
contextMenu="no"
innerBorder="no"
maximizeButton="no"
minimizeButton="no"
scroll="no" />
<style type="text/css"><!--
body, td { font-size:10pt; }
--></style>
<script language="JScript">
<!--
/* ren.hta : ファイル名付け替えツール
*
* 2006/11/14 若干修正
*/
/* 特殊フォルダの取得 */
function GetSpecialFolders(s) {
var ws = new ActiveXObject("WScript.Shell");
return ws.SpecialFolders(s);
}
/* フォルダ参照ダイアログを使う */
function ShellBrowseForFolder(message) {
var objShell = new ActiveXObject("Shell.Application");
var objFolder = objShell.BrowseForFolder(0, message, 0x241);
if (objFolder != null) {
var objFolderItems;
objFolderItems = objFolder.Items();
if (objFolderItems != null) {
var objFolderItem;
objFolderItem = objFolderItems.Item();
if (objFolderItem != null) {
var ret = objFolderItem.Path + "\\";
return ret.replace(/\\\\$/, "\\");
}
}
return GetSpecialFolders("Desktop");
}
return null;
}
/* 全角英数字を半角英数字に置換する */
function z2h_word(src) {
return src.replace(/([A-Za-z0-9_])/g,
function ($0) {
return String.fromCharCode($0.charCodeAt(0) - 65248);
});
}
function ShowFolderFileList(folderspec) {
var fso, f, fc;
fso = new ActiveXObject("Scripting.FileSystemObject");
try {
f = fso.GetFolder(folderspec);
} catch(e) {
window.alert(e.message);
return;
}
fc = new Enumerator(f.files);
while (document.F1.D1.options.length > 0)
document.F1.D1.options.remove(0);
for (; !fc.atEnd(); fc.moveNext()) {
var oOption = document.createElement("OPTION");
document.F1.D1.options.add(oOption);
oOption.innerText = fc.item();
}
var len = document.F1.D1.options.length;
document.F1.D1.size = (len > 20 ? len : 20);
}
function select_folder() {
var folder = ShellBrowseForFolder("フォルダを選択して下さい。");
if (folder != null) {
document.F1.T1.value = folder;
ShowFolderFileList(folder);
} else {
window.alert("キャンセルされました。");
}
}
function run_rename() {
var fso, f, s, d, t, t2, t3, len;
len = document.F1.D1.options.length;
if (len < 1) return;
if (!document.F1.C2.checked && !document.F1.C1.checked) return;
t2 = document.F1.T2.value;
t3 = document.F1.T3.value;
fso = new ActiveXObject("Scripting.FileSystemObject");
for (i = 0; i < len; i++) {
s = document.F1.D1.options.item(i).innerText;
f = fso.GetFile(s);
d = f.Name;
if (document.F1.C2.checked) {
t = d;
if (t2 != "") {
if (document.F1.C3.checked) {
var reg = new RegExp(t2);
d = t.replace(reg, t3);
} else
d = t.replace(t2, t3);
} else
d = t;
}
if (document.F1.C1.checked) {
t = d;
d = z2h_word(t);
}
if (d != f.Name) {
t = f.ParentFolder + "\\" + d;
f.Move(t);
if (!fso.FileExists(s)) {
document.F1.D1.options.item(i).innerText = t;
}
}
}
window.alert("付け替えを終了しました。");
}
//-->
</script>
</head>
<body bgcolor="#C0C0C0" text="#000000" topmargin="5" leftmargin="6"
onload="window.resizeTo(600,411)">
<form name="F1">
<table border="0" cellpadding="4" cellspacing="0">
<tr>
<td>対象フォルダ:<input type="text" size="86" name="T1">
<input type="button" value="選択" onclick="select_folder()"></td>
</tr>
</table>
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2" style="padding-left:4px">ファイル:</td></td>
</tr>
</table>
<table border="0" cellpadding="3" cellspacing="0" width="588">
<tr>
<td valign="top" rowspan="2" width="330"><div
style="width:330px;height:306px;overflow:scroll;border:groove 2px"><select
name="D1" size="20"></select></div></td>
<td valign="top" width="238"><table cellpadding="4"
cellspacing="1" style="border:groove 2px">
<tr>
<td><input type="checkbox" name="C2"> 特定の文字列を指定文字列に置換<br>
検索文字列:<input type="text" size="20" name="T2"><br>
<input type="checkbox" name="C3"> 正規表現を使用<br>
置換文字列:<input type="text" size="20" name="T3">
<p><input type="checkbox" name="C1"> 全角英数字を半角にする</p>
</td>
</tr>
</table>
<p>【使い方】<br>
選択ボタンを押して、フォルダを選択すると、<br>
左側にファイルのリストが、表示されます。<br>
付け替え方法を右側で選択してから、実行<br>
して下さい。</p>
</td>
</tr>
<tr>
<td align="center" valign="bottom"><input type="button"
value="実行" style="width:100px" onclick="run_rename()">
<input type="button" value="終了" onclick="window.close()"
style="width:100px"></td>
</tr>
</table>
<table border="0" width="588" cellpadding="4" cellspacing="0">
<tr>
<td colspan="2" align="center">Copyright (c) 2005, 2006 AOK.
All Rights Reserved.
<a href="http://aokura.com/" target="_blank">http://aokura.com/</a></td>
</tr>
</table></form>
</body>
</html>
|