シェルスクリプトでタイムスタンプ(日付処理)

ターミナルでは以下の通り

$ date "+%Y%m%d_%H%M%S"
20120522_132806

 

今日の日付と時間を変数にいれる

TODAY=`date '+%Y%m%d_%H%M%S'`

 

変数を使う場合は以下のとおり

echo ${TODAY}

ウォーレン・バフェット賢者の教えを読んで

「ウォーレン・バフェット 賢者の教え」をAppStoreで購入した。なんと85円で購入できた。本は結構読む方なので、この金額で読めるとありがたい。バフェット氏の金言集であったが前半はかなり納得して読んでしまった。わかっていてもなかなかできない自分で考えることと、意志の強さが重要だと認識させられる本であった。

  • ゲームに勝つには、とにかく先手をとる
  • ゲームは熟知したものに集中すべきである。どんなに魅力的に見えようと、誰が大儲けをしていようと、手を出さない意志力が必要
  • ゲームに勝つには、何度もゲームをしすぎないことである
  • ゲームに勝つには、時間を味方にすること
  • ゲームに勝つには、負けが込んできたらさっさとおりることである
  • ゲームに勝つには、周囲の動きにふらふらしないこと

この辺も納得である

  • 難題を処理するよりも、難題を避ける方が賢明だ
  • リスクとは、自分が何をやっているかわからない時におこるものである
  • 「価格」と「価値」を厳密にわける。十分な価値を見込めないもにに多くの価格を支払うべきではない

 

第5水準リーダーシップ

「ビジョナリー・カンパニー2 飛躍の法則」をみて第5水準リーダーシップに共感した。以前もどこかの経営者講習で同じようなことを言われたが今はより深く理解することができた。以前の購入を再度聞きたいくらいだ。以下の行動がとれるリーダーになれるよう努力したいものである。

第5水準リーダーシップ

  • 第5水準とは=謙虚さ+不屈の精神
  • 不屈の精神=なすべきことを必ず実行する
  • 謙虚さ=穏やかな性格で目立たないが、内面は厳しく自分の関わるものは最高にする全力の姿勢がある
  • 高い理想、不屈の精神、謙虚な態度
  • 野心は企業(社会、自分以外のもの)にある
  • 窓と鏡→「成功」は窓をみて幸運に恵まれたと他に感謝し、「失敗」を鏡を見つめ自分の責任と考える(運の悪さにしない)
  • 組織を魅力的なカリスマではなく高い基準活気づかせる

 

 

コマンドプロンプトでファイル名末尾にタイムスタンプをつける

コマンドプロンプトでファイル名の末尾にYYYYMMDD_HHMiを付加する方法


set d=%date:/=%
set t=%time: =0%
set hh=%t:~0,2%
set mi=%t:~3,2%
set datetime=%d%_%hh%%mi%
ren C:\tets\test.csv test_%datetime%.csv

JScriptでタイムスタンプ取得、ファイル名を変更する方法

起動時に古いファイルのバックアップする際に使用する。旧ファイルの最後にYYYYMMDD_HHSSを付加してリネームする
すぐに忘れてしまうのでメモ

var strDate = new Date().toLocaleDateString().replace(/(\d+\D)/gi, "00$1").replace(/^\d*(\d{4}\D)\d*(\d{2}\D)\d*(\d{2}\D)$/gi, "$1$2$3").replace(/(年|月|日)/gi, "");
var strTime = new Date().toString().split(" ")[3].replace(/:/gi, "");
WScript.Echo( strDate+strTime );
var fs = new ActiveXObject( "Scripting.FileSystemObject" );
if( fs.FileExists(DOWNLOAD_FILE_PATH1) ){
	fs.MoveFile(DOWNLOAD_FILE_PATH1, DOWNLOAD_FILE_PATH1+"_"+strDate+"_"+strTime );
}
fs = null;

JScriptでリンクテキストからURLを抽出する

ブラウザ操作の自動化でリンクテキストからURLを抽出したい場合、以下のファンクションを使えばOK

function getLink( ie, match_text)
{
	var elements = ie.document.getElementsByTagName("a");
	WScript.Echo(elements.length + "個の要素が見つかりました");

	for(i=0;i= 0){
			return elements[i].href;
		}
	}
	elements = null;
}

シェルスクリプトでファイル存在チェックする

以下で実装。結構使うことが多い

#!/bin/sh

if [ ! -f /tmp/file.txt ]; then
	echo "ファイルなし"
else
	echo "ファイルあり"
fi

いまさらながらPowerPointのスライドマスタを作成する

あまりパワーポイントを利用する機会がないので作成で時間がかかる。
そういう場合ははじめにテンプレートを作成しておけば良いということでパワポでテンプレート作成する方法。

1)スライドマスタの設定

・メニューから「表示」>「マスタ」>「スライドマスタ」を選択
・必要なスライドを追加する
 →スライドマスタとタイトルマスタ
  ※複数作成してOK
・マスタ表示を閉じる

2)スライドマスタの適用

・左画面のスライドを選択し、コンテキストメニューから「スライドデザイン」→「選択したスライドに適用」

3)アウトラインを作成

スライドマスタとは関係ないがスライドのボリュームと流れを考える点で利用できる

・左画面で「アウトライン」パネルを選択してタイトル等を設定する

WinSCPで自動処理(バッチ処理)する(2) putする

前回(WinSCPをスクリプトでバッチ運用する)はgetだったのでputをメモ。

scp.bat

"C:\Program Files\WinSCP\WinSCP.exe" user:password@domain /console /script=.\scp_upload

scp_upload

option confirm off
put "upload.txt" "/home/user/upload.txt"
close
exit

ブラウザ操作をJScriptで自動する(2) ダウンロード処理をバッチ化する

やることは前回(ブラウザ動作をJScriptで自動化する(バッチ処理で実行する))と同様の対応です。


var TARGET_URL = "https://target.com/";
var ELEMENT_EMAIL  = "email";
var ELEMENT_PASS  = "password";
var EMAIL  = "email@email.com";
var PASS  = "password";
var DOWNLOAD_FILE_PATH = "C:\\download\\download.txt";
var LOGOUT_URL = "https://logout.com";

var strDate = new Date().toLocaleDateString().replace(/(\d+\D)/gi, "00$1").replace(/^\d*(\d{4}\D)\d*(\d{2}\D)\d*(\d{2}\D)$/gi, "$1$2$3").replace(/(年|月|日)/gi, "");
var strTime = new Date().toString().split(" ")[3].replace(/:/gi, "");
WScript.Echo( strDate+strTime );
var fs = new ActiveXObject( "Scripting.FileSystemObject" );
if( fs.FileExists(DOWNLOAD_FILE_PATH) ){
	fs.MoveFile(DOWNLOAD_FILE_PATH, DOWNLOAD_FILE_PATH+"_"+strDate+"_"+strTime );
}else{
	WScript.Echo( "nothing" );
}
fs = null;

var ie = WScript.CreateObject("InternetExplorer.Application");
ie.Visible = true;
ie.Navigate(TARGET_URL);
ie_wait( ie );

var wf = ie.document.forms[0];
wf.elements[ELEMENT_EMAIL].value = EMAIL;
wf.elements[ELEMENT_PASS].value = PASS;
wf.submit();
ie_wait( ie );

download( ie, "更新ID", DOWNLOAD_FILE_PATH );
WScript.Sleep( 5000 );

ie.Navigate(LOGOUT_URL);
ie_wait( ie );
ie.Quit();
ie = null;

function ie_wait( ie )
{
	while( ie.Busy || ( ie.readystate != 4 ) )
	{
		WScript.Sleep( 100 );
	}
	WScript.Sleep( 3000 );
	return;
}

function download( ie, dom_id, file_path )
{
	var ws = WScript.CreateObject("WScript.Shell");

	ie.document.getElementById( dom_id ).focus();
	WScript.Sleep( 100 );

	ws.SendKeys( "{TAB}" );
	WScript.Sleep( 100 );

	ws.SendKeys( "{ENTER}" );
	WScript.Sleep( 1000 );

	ws.SendKeys( "{TAB}" );
	WScript.Sleep( 1000 );

	ws.SendKeys( "{TAB}" );
	WScript.Sleep( 1000 );

	ws.SendKeys( "{TAB}" );
	WScript.Sleep( 1000 );

	ws.SendKeys( "{ENTER}" );
	WScript.Sleep( 2000 );

	ws.SendKeys( file_path );
	WScript.Sleep( 1000 );

	ws.SendKeys( "{ENTER}" );
	WScript.Sleep( 1000 );

	ws.SendKeys( "{ENTER}" );
	WScript.Sleep( 1000 );

	ws = null;
}