topimg.jpg


スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

環境変数で特定の文字列を抜き出す

Windowsでバッチファイルを実行するとき等、日付を抽出したいときがある。日付の表示は、dateコマンドを実行する方法と、環境変数dateを表示させる方法の2通りある。しかし、Windowsでは、いずれの方法もYYYY/MM/DDの形式で必ず表示されてしまう。


C:\Users\User>date /T
2011/01/24
C:\Users\User>echo %date%
2011/01/24


20110124のように、自分が指定したい形式で出力させるとき、上記の方法では対応できない。そんなときは、環境変数の指定文字列を抽出すればよい。


●環境変数から指定文字列を抽出する

C:\Users\User>set YYYY=%date:~0,4%
C:\Users\User>echo %YYYY%
2011
C:\Users\User>set MM=%date:~5,2%
C:\Users\User>echo %MM%
01
C:\Users\User>set DD=%date:~8,2%
C:\Users\User>echo %DD%
24




上記のように、
環境変数「%date%」の間に、「:~m,n」を挿入すると、m文字目からn文字分の文字列を抽出して結果が出力される。ほかにも色々な指定の方法があるらしいので、詳細は下記サイト参考のこと。


参考
バッチ・ファイル中で日付をファイル名に使用する
http://www.atmarkit.co.jp/fwin2k/win2ktips/419batchdate/batchdate.html

(追記 2012/06/11)
以下のように記述すると、1行でyyyymmdd形式の名前を出力できる。

set yyyymmdd=%DATE:/=%
スポンサーサイト
  1. 2011/01/24(月) 01:54:17|
  2. Windows
  3. | トラックバック:0
  4. | コメント:0

WindowsServerで無料のアンチウイルスソフト

WindowsServerを利用するとき、困るのがアンチウイルスソフト。なぜならば、フリーのアンチウイルスソフトはたいていWindowsServerでは利用できないよう、制限がかかっているからだ。私がいつも利用しているavastも利用不可であった。


そんなときのお勧めがMicrosoft Security Essential。MS純正のアンチウイルスソフトだ。


Microsoft Security Essential
http://www.microsoft.com/security_essentials/?mkt=ja-jp


これであれば、WindowsServerでも利用可能である。

Microsoft Security Essentialは以下の3種が提供されている。

•Windows XP (32 ビット)
•Windows Vista/Windows 7 32 ビット版
•Windows Vista/Windows 7 64 ビット版

私は、WindowsServer2008R2で「Windows Vista/Windows 7 64 ビット版」の正常動作を確認した。

ただし、WindowsServer2003 64bit版では動作しないかもしれない。WindowsServer2003のクライアント版であるWindowsXPには32bit版しか提供されていないからだ。

テーマ:ソフトウェア - ジャンル:コンピュータ

  1. 2011/01/10(月) 20:29:59|
  2. Windowsアプリ
  3. | トラックバック:0
  4. | コメント:0

OEMパーティションの削除

Windowsでは「コンピュータの管理」>記憶域>ディスクの管理
でGUIからディスクのパーティション変更が可能だ。
しかし、たまにこのGUI上から変更操作できないときがある。
そんなときはコマンドプロンプト上からdiskpartコマンドを実行するのが常套である。
しかし、diskpartコマンドを利用してもパーティション変更できないことがあったのでその覚書。

パーティション変更しようとした対象は、先日買ったノートPC「LenovoG560」付属していた2.5インチハードディスクの「OEMパーティション」と呼ばれるリカバリ領域である。この領域を削除しようとしたところ、以下のようなメッセージが出てしまった。


DISKPART> select disk 1

ディスク 1 が選択されました。

DISKPART> list partition

Partition ### Type Size Offset
------------- ------------------ ------- -------
Partition 1 プライマリ 283 GB 1024 KB
Partition 2 OEM 14 GB 283 GB

DISKPART> select partition 2

パーティション 2 が選択されました。

DISKPART> delete partition

仮想ディスク サービス エラー:
force protected パラメーターを設定しないと、保護されたパーティションは削除できません。



このメッセージでググると、以下のサイトで解決方法が出ていた。

■[Platform] 回復パーティションを削除する方法
http://d.hatena.ne.jp/hororiholy/20101211/p1

上記サイトによると、

DELETE PARTITION に OVERRIDEというオプションを付ければ削除可能とのこと。
早速やってみた。

DISKPART> delete partition override

DiskPart は選択されたパーティションを正常に削除しました。



おお、よかった。無事パーティション削除ができた。
「コンピュータの管理」>記憶域>ディスクの管理
のGUI上でもOEMパーティションが「未割り当て」状態になっている。

これにて一見落着。






テーマ:コンピュータ - ジャンル:コンピュータ

  1. 2011/01/10(月) 19:54:47|
  2. Windows
  3. | トラックバック:1
  4. | コメント:0
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。