バックスラッシュ

個人用

ひとつのフォルダに必要なデータを
フォルダごと入れる


フォルダ内のjpgのみを処理するプログラム

1
各々ハッシュ値を計算して
jpgファイルと同じフォルダ内に
ハッシュ値を名前としたテキストファイルを作る

2
もしくは、
Excelのテーブルにフォルダパスとハッシュ値
並べる

1
検索するときは
検索したい画像のハッシュ値を計算して
その値で検索するとテキストファイルが見つかる

2
Excelで検索して隣接のフォルダパスをたどる



>certutil -hashfile TechPjin.jpg MD5

MD5 ハッシュ (ファイル TechPjin.jpg):

6d d9 01 75 10 f0 04 ee e9 47 85 ed 92 de 69 d1

CertUtil: -hashfile コマンドは正常に完了しました。

SHA1





バッチ

@echo off
 
echo C:\test 直下のファイルを表示
for %%a in (C:\test\*) do echo %%a
 
echo C:\test 直下のフォルダを表示
for /D %%a in (C:\test\*) do echo %%a



for /r %a in (C:\test\*.jpg) do echo %a


for /r %a in (C:\test\*.jpg) do certutil -hashfile %a MD5>results.txt




dir /b /s *.jpg


for /r %a in (C:\test\*.jpg) do
dir /b /s %a > results.txt

日本語

/////////////////////////////////////////////////////////////////
//フォント一覧の作成_ver10.jsx
//2013/08/20 12:29 sakai masaki
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////

var mm_to_po = 2.834645669;//ミリ数値をポイントに直す
var font_size = 3 * mm_to_po ;//フォントサイズ
var ly_nm_df ="フォント一覧";//layerネームデフォルト
var info_df = "■フォント一覧 総数:";//インフォメーションデフォルト
var sample_tt = "サンプル文字";//sampleテキストデフォルト
var sample_df = "test テスト";//sampleテキストデフォルト
var split_cr = " : ";//フォント名とsampleのsplit文字
var font_color = setColor(0,0,0,100); //fontの塗り色 黒
var orikaesi = 100;//ある程度並べたら折り返し
var y_stretch = 0.9;//横並びにするときに大概離れすぎるのでそれの調整、割合
var sort_fg = 1;//並べ替えフラグ 1を設定すると並べ替える
var test_chr ="あ";//日本語検査の為のsample文字
var jap_mk = "■";//日本語フォントだった場合のマーク
var eng_mk = "□";//日本語対応じゃなかった場合のマーク
var tani = "font ";//フォントの単位
var d_sp = "-";//日付の区切り


main();
///////////////////////////////
////////////////////////////////
function main(){
var i = q = retu = cmx = 0;
var wh_mak = "";
var actDoc = activeDocument;
var n = app.textFonts.length;

var new_l = actDoc.layers.add();
var date_info = date_yymmdd(d_sp);
new_l.name = ly_nm_df + n + tani + date_info;

textObj = new_l.textFrames.add();
textObj.contents = info_df + n + tani + date_info;//+ tes_font
textObj.translate(0,font_size );
textObj.textRange.characterAttributes.size = font_size ;

txt = prompt(sample_tt,sample_df );

var font_ar = new Array() ;
for (i = 0; i < n; i++){//n
font_ar[i] = app.textFonts[i].name;
}

if(sort_fg ==1){font_ar.sort();}//並べ替えfont_ar = ar_sort


for (i in font_ar){//n

font_prp = app.textFonts.getByName(font_ar[i]);

textObj = new_l.textFrames.add();
textObj.textRange.characterAttributes.size = font_size ;
textObj.textRange.characterAttributes.fillColor = font_color ; //
textObj.textRange.characterAttributes.textFont = font_prp; // textFont

textObj.contents = test_chr;//一旦sampleテキスト配置
////日本語対応フォントかどうか調べる
g1 = textObj.characters[0].textFont.name ;
if( g1 == font_ar[i] ){ wh_mak = jap_mk ;}
else{ wh_mak = eng_mk ;}
/////
txt01 = font_ar[i] + split_cr + txt ;// font_prp + + app.textFonts[i].style + split_cr+ tes_font
textObj.contents = wh_mak + txt01;
textObj.textRange.characterAttributes.textFont = font_prp; //再設定

textObj.translate(retu,(q * font_size * (-1) ));
//tes_font = textObj.textRange.characterAttributes.font;
if(cmx < font_ar[i].length){cmx = font_ar[i].length;}
q ++;
if(q > orikaesi - 1 && orikaesi > 0 ){

dan = ((cmx + txt.length ) * font_size) * y_stretch;//
retu += dan;
cmx = q = 0;
}
}

return false;
}

/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
function setColor(c,m,y,k){
var tmpColor = new CMYKColor();
tmpColor.cyan = c;
tmpColor.magenta = m;
tmpColor.yellow = y;
tmpColor.black = k;

return tmpColor;
}

/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
function date_yymmdd(sc){
dd = new Date();
yy = dd.getYear();
mm = dd.getMonth() + 1;
dd = dd.getDate();
if (yy < 2000) { yy += 1900; }
if (mm < 10) { mm = "0" + mm; }
if (dd < 10) { dd = "0" + dd; }

return yy + sc +mm + sc + dd ;
}

/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////

テキストばらし

/********************************************************
JavaScript for Adobe Illustrator 10 - CS ( Win / Mac )

■■テキストばらし■■

複数行のテキストを改行で別オブジェクトに分割します。

作成者:倉田タカシ 2007_05_01

*******************************************************/

var itemsToSplit = new Array() ; //各テキストを格納
var splitTexts = new Array() ; //各分割テキストの配列を格納
var HorV ;
var txPos ;
var lineHeight ;

var aiVersion = version.slice(0,2);

var crCode = String.fromCharCode(13); //改行コードを指定
var enterCode = String.fromCharCode( 3 ) ;

selectedObj = activeDocument.selection ;
if( selectedObj.length == 0 )
{
alert("まず、改行で分割したいテキストを選択してください。 ( Select texts first. )");
}
else
{
for( i=0; i 0 )
{ splitTexts[i][j].top
= splitTexts[i][j-1].top - splitTexts[i][j-1].height }
}
}
else
{
// 縦書きのエリアテキストの場合は、先に幅を決める
if( splitTexts[i][j].kind == TextType.AREATEXT )
{
if( aiVersion == "10" )
{ splitTexts[i][j].textPaths[0].textPathObject.width
= lineHeight * splitTexts[i][j].textRange().textLines.length }
else
{ splitTexts[i][j].textPath.width
= lineHeight * splitTexts[i][j].lines.length }
}

splitTexts[i][j].position
// = [ txPos[0]+(lineHeight**1 , txPos[1] ] ;
= [ txPos[0] + itemsToSplit[i].width - splitTexts[i][j].width , txPos[1] ] ;

if( j > 0 )
{ splitTexts[i][j].left
= splitTexts[i][j-1].left - splitTexts[i][j].width }
}

if( aiVersion == "10" )
{ splitTexts[i][j].moveBefore( itemsToSplit[i] ) }
else
{ splitTexts[i][j].move( itemsToSplit[i] , ElementPlacement.PLACEBEFORE ) }
}
}
itemsToSplit[i].remove() ;
}
}

*1:txArray.length-1)-j

イラストレーターフォント一覧

// fontsample.js Version 1.00 font_size = 30; type_text = ''; type_text = prompt("テキストを入力してください。そのままリターンを押すと自動で設定されます。",""); // システムにインストールされているフォント全てを走査 for (i=0; i

excelフォント一覧表

Sub font()
'フォント名と見本一覧を作成
    Cells(1, 1) = "フォント名"
    Cells(1, 2) = "数字見本"
    Cells(1, 3) = "小文字見本"
    Cells(1, 4) = "大文字見本"
   
    Dim i As Integer
    Dim str As String
    Dim obj As Object
    str = "0123456789"
    str2 = "abcdefghijklmnopqrstuvwxyz"
    str3 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    Set obj = Application.CommandBars("Formatting"). _
        Controls.Item(1)
   
    For i = 1 To obj.ListCount
        Cells(i + 1, 1) = obj.List(i)
        Cells(i + 1, 2) = str
        Cells(i + 1, 3) = str2
        Cells(i + 1, 4) = str3
        Cells(i + 1, 2).font.Name = obj.List(i)
        Cells(i + 1, 3).font.Name = obj.List(i)
        Cells(i + 1, 4).font.Name = obj.List(i)
    Next i
   
End Sub

フォルダ内のpdfを一括印刷

Sub フォルダ内PDFファイル一括印刷()

Dim strPath As String
Dim strFileName As String
Dim pdffiles() As String
Dim intcount As Integer

‘変数strPathに、フォルダのパスを格納
strPath = “C:\Documents and Settings\isa\デスクトップ\問題集\”

‘変数strFileNameに、フォルダ内のファイル名を格納
strFileName = Dir(strPath)

‘フォルダ内のファイルがなくなるまでLoop
Do Until Len(strFileName) = 0
   
    ‘ファイル名の右から3文字が”pdf”かどうか判別   
 If Right(strFileName, 3) = “pdf” Then
       
        ‘pdffilesにその時のファイル名を取得し配列として格納
        ReDim Preserve pdffiles(intcount)
        pdffiles(intcount) = strFileName
       
        ‘pdffiles(0)・pdffiles(1)というようにファイルの数だけ
       ‘配列のインデックス番号が増えて管理できるようにするため+1する
        intcount = intcount + 1
       
    End If
   
    ‘一度Dir関数で取得されたファイルは取得されないようにする処理
    strFileName = Dir()

Loop

‘——————————————
‘ここまでの処理でpdffilesという配列には
‘ファイルの数だけ配列が出来上がっている状態
‘——————————————
‘——————————————
‘ここから下はpdffilesという配列に入っている
‘ファイルを順番に印刷をかける処理
‘——————————————
Dim AcroExchApp As Object
Dim AcroExchPDDoc As Object
Dim AcroExchAvDoc As Object
Dim buf As Long

Set AcroExchApp = CreateObject(”AcroExch.APP”)
Set AcroExchPDDoc = CreateObject(”AcroExch.PDDoc”)
Set AcroExchAvDoc = CreateObject(”AcroExch.AVDoc”)

buf = AcroExchApp.Show

Dim i As Integer

    For i = 0 To UBound(pdffiles)
        buf = AcroExchAvDoc.Open(strPath & pdffiles(i), “”)
        Set AcroExchPDDoc = AcroExchAvDoc.GetPDDoc()

        ‘開いたPDFファイルのページ数をnumPageに格納
        Dim numPage As Long
            numPage = AcroExchPDDoc.GetNumPages
           
            ‘PrintPagesで印刷をかける
            ‘プリンタはデフォルトのプリンタで、印刷のダイアログボックスは
            ‘表示されない
            ‘以下のステートメントは開いたPDFファイルの
            ‘最初のページから最後のページまでを印刷をかけるもの
            ‘また戻り値は「-1」ならうまく機能している
            ‘「-1」以外はPDFファイルが開いていないときに返される戻り値
            buf = AcroExchAvDoc.PrintPages(0, numPage - 1, 2, 0, 0)
       
            ‘一行上のステートメントで「-1」以外の戻り値の場合は
            ‘ファイルが開かれていないときにおきるので
            ‘変数bufが「-1」以外だったら印刷失敗というメッセージを出すようにしている
            If buf <> -1 Then
                MsgBox (”印刷に失敗しました。ファイルが開かれていない可能性があります”)
            Exit Sub
       
        End If
       
        buf = AcroExchAvDoc.Close(False)
    Next

buf = AcroExchApp.Exit

Set AcroExchApp = Nothing
Set AcroExchPDDoc = Nothing
Set AcroExchAvDoc = Nothing

End Sub

忘年会集計

//-------------------------------------------------------------------
// 忘年会アンケートの集計プログラム
//-------------------------------------------------------------------
// 変数の初期化など
var fso = WScript.CreateObject("Scripting.FileSystemObject");
var excel = WScript.CreateObject("Excel.Application");
var result = "";
// ファイルを1つずつ処理する
var dir = fso.GetFolder(".");
var files = new Enumerator(dir.Files);
while (files.atEnd() == false) {
checkExcelFile(files.item());
files.moveNext();
}
excel.Quit();
// 結果をファイルに書き出す
var csv = fso.CreateTextFile("result.csv", true);
csv.WriteLine("名前,部署,一次会,二次会,希望予算,希望会場");
csv.Write(result);
//-------------------------------------------------------------------
// Excelファイルを起動してアンケート記録を取得する関数
function checkExcelFile(f) {
var path = f.Path;
if (!path.match(/\.xls.?$/)) return; // Excelファイル以外は除外
var book = excel.Workbooks.Open(path); // ファイルを読み込む
excel.Visible = true;
var sheet = book.ActiveSheet;
// シートから値を抜き出す
var namae = sheet.getCell(4,3).Value; // お名前
var busyo = sheet.Cells(5, 3).Value; // 部署
var kai1 = sheet.Cells(6, 3).Value; // 一次会への参加
var kai2 = sheet.Cells(7, 3).Value; // 二次会への参加
var yosan = sheet.Cells(8, 3).Value; // 二次会希望予算
var basyo = sheet.Cells(9, 3).Value; // 希望会場
book.Close();
// 集計する
kai1 = (kai1 == "参加") ? 1 : 0; // 参加なら1、不参加なら0に
kai2 = (kai2 == "参加") ? 1 : 0;
var row = [namae,busyo,kai1,kai2,yosan,basyo];
result += row.join(",") + "\n";
}
//-------------------------------------------------------------------