.svnフォルダ等、特定フォルダを一括で削除する方法

(1)フォルダまるごとコピー
例: c:\temp\app1

(2)DOS窓で、  cd c:\temp\app1

(3)DOS窓で、 for /R %d in (.svn) do rmdir /S /Q “%d”

他にも方法ありそうですが。

foreach で値を参照で受け取った場合は、配列を壊さないようにunset()するべき。

下記のように、foreach で参照で値を受け取って配列の値を加工する場合に、最後にunset()しないと、配列を破壊する場合があります。

//下記のunset($val)をしないと、$list[2] への参照が $val に残っていて$valに値を入れると、$list[2]の値が下記かわってしまう
unset($val);  

要注意ですね。
(変数の持ち回しがよくないとか、参照で処理するのはコストがかかるのでしないほうがいい、とかいう意見もありそうですが、もしやるならunset()も必須でという感じです。)

最初に現象が出た時には、なんなんだこの動きは?って思いましたが納得です。

カテゴリー: php

Windowsで印刷ジョブを全部消したい

SATOのタグプリンタのドライバをインストールする際に、「印刷ジョブが残っています。」というメッセ―ジが表示されてドライバのインストールが進みませんでした。

印刷待ちのドキュメントは無し。。。
手動でスプールに残っているファイルを削除することにしました。

  1. 管理者権限で、コマンドプロンプトを開いて、
  2. 下記のコマンドでスプーラのサービスを停止。
    net stop spooler
  3. C:\Windows\System32\spool\PRINTERS の *.shd と、*.splファイルを削除
  4. 下記のコマンドでスプーラのサービスを開始ン
    net stop spooler

無事、プリンタドライバのインストールダイアログが進みました。
(が、VMのせいかうまくプリントを認識しない。。。 )

phpMyAdminで、SQLのSELECTした内容をCSVなどでファイル出力する方法

MySQL実行したSQLをそのままCSVやtab区切りで出力したい場合がありますよね。
phpMyAdmin(コマンドラインでも同じですが)で実行するSQLのFROMの前に下記のようにINTO OUTFILE ~ を追加すると実行結果をファイル保存できます。

---------
例)

SELECT *
INTO OUTFILE “/var/www/html/test/data.csv”
FIELDS TERMINATED BY ‘,’
OPTIONALLY ENCLOSED BY ‘”‘
ESCAPED BY ‘”‘
LINES TERMINATED BY ‘\n’
FROM test2
---------

・INTO OUTFILE “/var/www/html/test/data.csv”
パスはサーバー上のパスです。書込み権限が必要です。
Windowsなら ”c:\\temp\\data.csv” のように指定します。

※ファイルが存在するとエラーになるので、ファイル名を変える等してください。

・ FIELDS TERMINATED BY ‘,’
値の区切り文字です。

・ OPTIONALLY ENCLOSED BY ‘”‘
文字型の値の場合に値を囲む文字です。

・ESCAPED BY ‘”‘
値中に上記「OPTIONALLY ENCLOSED BY」で指定した文字が含まれる場合は、「ESCAPED BY」で指定した値でエスケープしてくれるようなので、エクセルで利用するなら、「OPTIONALLY ENCLOSED BY」も「ESCAPED BY」も”(ダブルクォート)を指定すればいいはずです。

・LINES TERMINATED BY ‘\n’
1レコードの最後をあらわす記号です。

あとは、エクセルで利用するならエディタで開いて、Shift-JISで保存する等して文字コードを Shift-JISにすれば完了です。

phpMyAdminや、コンソールに表示された実行結果をエクセルにコピペして、エクセル上で綺麗な形に加工して。。。あっ、抽出方法間違えたってなって、また作業しなおし、、、とか、かなり手間で無駄な作業なので絶対にしたくありませんね!!(昔、結構やってました。。。)

以上です。

jQueryのdataTablesでチェックボックスの一括ON/OFF

下記のような通常のjQueryの処理方法では、dataTablesの内部データは変更されず、フィルタや改ページで非表示状態の行は処理されません。

$(‘#list input[type=”checkbox”]’).prop(‘checked’,false );

 

下記の方法ならdataTablesの内部データも変更され、非表示行もきちんと処理されます。

list = $(‘#list’).dataTable({・・・});

list.$(‘.chk_sel’).prop(‘checked’,false );

以上です。