トップ «前の日記(2014-05-12) 最新 次の日記(2014-05-14)» 編集

ヨタの日々

2001|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|12|
2024|01|02|03|04|

2014-05-13 :-(

_ 午前

0530 起床

0700 食堂

0830 出勤 && HDMIがどうのこうの

_ 午後

1300 HDMIがどうのこうの

_

1700 退勤

1900 なんかいろいろ調べたり

2130 飯。鮭のちゃんちゃん焼き

_ 右クリックで今日の日付のフォルダを作成する

やってるひとが居たんだが Windows - 右クリックメニューの新規作成から今日の日付フォルダーを一発で作れるようにする - Qiita

レジストリの Command のデータがよく分からん。

cmd /c md "%1..%%date:~-10,4%%%%date:~-5,2%%%%date:~-2,2%%"

たとえば

C:\home

というフォルダで右クリック - 新規作成 - フォルダー やると

C:\home\新規 フォルダー(yyyyMMdd形式).aaaafolder_yyyyMMdd..20140512

というフォルダが作成される。

%1 は cmd.exe への引数であり

C:\home\新規 フォルダー(yyyyMMdd形式).aaaafolder_yyyyMMdd

が渡されるんだが、じゃあ %1 を展開しようとして

cmd /c %~dp1

とやっても %~dp1 が "%~dp1" として処理されてしまう。%1 が展開されない。( basename と同じことをやろうとしている )

どうにも解決できないので以下のようにして exe を作成しておいてレジストリの Command からそれを呼び出して回避した。うーん。

C#

ToString のパス区切りはバックスラッシュじゃなくてスラッシュでもいいのかというかバックスラッシュが指定できない。( \\MM にすると \M と解釈されたうえに無視された )

    class Program
    {
        static private String Today()
        {
            DateTime d = DateTime.Today;
            String today = d.ToString("yyyy/MM/dd");
            return today;
        }

        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                return;
            }

            String basedir = Path.GetDirectoryName(args[0]);
            if (Directory.Exists(basedir) == false)
            {
                Console.WriteLine("ディレクトリを指定してね");
                return;
            }

            String today = Today();
            String path = Path.Combine(basedir, today);
            Console.WriteLine("create {0}", path);
            Directory.CreateDirectory(path);
        }
    }

Command のデータはこんな感じ。

cmd /c  C:\mkdir-today.exe %1

実行すると

C:\home\2014\05\13

こういうふうに作成される。