[前の記事]« unixのuniqに相当するコマンドは?
[次の記事]UNIXのtailに相当するコマンドは? »

関連オンラインソフト配布サイト:
Vector>ダウンロード(top) |>MS-DOSまたは汎用 | >WindowsVista/XP/2000/NT

▲カテゴリー「DATE,TIME…日付、時刻の取得/利用」索引へ

[XP]曜日だけを環境変数に格納するには?

66.
日付の取得その2??
2004年01月13日(火) 16時00分
どうもです。今、日付の取得の仕方を探しています。
ここの過去ログ(830,831)で2つも載っていたのでよっしゃ!
と思ったのですが、830番の方のやり方はいまいち私には理解
できず(dos初心者に近いので)、831番の方のやり方なら
と思いやってみたのですが、変数に格納されるのは日付のみに
なってしまいます。(TT)
ひとつ気になることは、以前dos窓に直でDATEと打ったとき
 ”2003/12/23 水”と曜日まで出ていた気がするのですが
今では日付の部分しか出なくなりました。”2003/12/23”
そのことが何か原因なんでしょうか。以前質問していた方は
解決したようですが、私は出来ません。何ででしょうか??
教えてください。
68.
日付じゃなくて曜日でした。
2004年01月13日(火) 16時03分
>どうもです。今、日付の取得の仕方を探しています。
>ここの過去ログ(830,831)で2つも載っていたのでよっしゃ!
>と思ったのですが、830番の方のやり方はいまいち私には理解
>できず(dos初心者に近いので)、831番の方のやり方なら
>と思いやってみたのですが、変数に格納されるのは日付のみに
>なってしまいます。(TT)
>ひとつ気になることは、以前dos窓に直でDATEと打ったとき
> ”2003/12/23 水”と曜日まで出ていた気がするのですが
>今では日付の部分しか出なくなりました。”2003/12/23”
>そのことが何か原因なんでしょうか。以前質問していた方は
>解決したようですが、私は出来ません。何ででしょうか??
>教えてください。


すみません。取得したいのは日付ではなく曜日でした。
ごめんなさい。曜日のみ取得したいです。
OSはwinxpまたは2003サーバーです。よろしくお願いします。
69.
Re:日付の取得その2??
2004年01月13日(火) 16時08分
じゃく
>できず(dos初心者に近いので)、831番の方のやり方なら
>と思いやってみたのですが、変数に格納されるのは日付のみに
>なってしまいます。(TT)

831番の過去ログは曜日の取得ですが、
貴方のご希望は何が取得したいのですか?
日付+曜日?
どういう形式が希望なのか具体的に書いてみてください。
例) 2004/01/13 火

>ひとつ気になることは、以前dos窓に直でDATEと打ったとき
> ”2003/12/23 水”と曜日まで出ていた気がするのですが
>今では日付の部分しか出なくなりました。”2003/12/23”
date コマンドでは曜日は表示されなかったと思います。

echo %date% 

と入力するとどのように表示されますか?
またOSのバージョンは何ですか? 2000 ? XP ?
70.
Re2:日付の取得その2??
2004年01月13日(火) 16時16分
>831番の過去ログは曜日の取得ですが、
>貴方のご希望は何が取得したいのですか?
>日付+曜日?
>どういう形式が希望なのか具体的に書いてみてください。
>例) 2004/01/13 火

すみません。上でも訂正したのですが、取得したいのは
日付ではなく曜日のみです。

>date コマンドでは曜日は表示されなかったと思います。

>echo %date% 

>と入力するとどのように表示されますか?
2003/01/13 と表示されます。
取得したいのは"月"とか"火"とかです。
echo %変数% とした場合

となるようにしたいのです。
>またOSのバージョンは何ですか? 2000 ? XP ?
今時分の環境はxpなのですが、実際にバッチを使用するのは
2003サーバーになります。


71.
2004年01月13日(火) 16時55分
じゃく
>>831番の過去ログは曜日の取得ですが、
>すみません。上でも訂正したのですが、取得したいのは
>日付ではなく曜日のみです。
831番の過去ログはWindows2000での実行結果だと思います。
windows2000 ではecho %date% の結果が 曜日 年/月/日と
表示され、どうやら固定のようなのですが、
Windows XPでは
>>echo %date% 
>>
>>と入力するとどのように表示されますか?
>2003/01/13 と表示されます。

海さんの実行結果のように、デフォルトでは 年/月/日 となり
曜日が表示されません。

解決策ですが、XPではコントロールパネルの地域と言語の
オプションにある、カスタマイズ?日付?短い形式の
設定が echo %date% に反映されるようなので、
短い形式を 「yyyy/MM/dd」 から 「ddd yyyy/MM/dd」に
変更すれば、831番の過去ログを使ってに曜日を取り出せるはずです。
Windows 2003 の挙動は、2003server が手元にないためわかりません。同様に2003serverで試してみてください。
72.
Re4:日付の取得その2??
2004年01月13日(火) 17時17分
じゃく
>解決策ですが、XPではコントロールパネルの地域と言語の
>オプションにある、カスタマイズ?日付?短い形式の
>設定が echo %date% に反映されるようなので、
>短い形式を 「yyyy/MM/dd」 から 「ddd yyyy/MM/dd」に
>変更すれば、831番の過去ログを使ってに曜日を取り出せるはずです。

海さんへ。
実際試してみたところ、エクスプローラやフォルダを表示した
とき、ファイルの更新時刻の表示まで
火 2004/01/13 14:00
のようになってしまって個人的にはかなり違和感があります。
それでもよろしければこの方法をご利用下さい。

また、ややこしいと思って紹介しませんでしたが、
当方のWebページにて曜日を計算で求めて変数に
セットするバッチを載せていますので参考までに
ご紹介しておきます。
http://homepage1.nifty.com/jak/batch/date.html#3
73.
Re5:日付の取得その2??
2004年01月13日(火) 18時04分


>海さんへ。
>実際試してみたところ、エクスプローラやフォルダを表示した
>とき、ファイルの更新時刻の表示まで
>火 2004/01/13 14:00
>のようになってしまって個人的にはかなり違和感があります。
>それでもよろしければこの方法をご利用下さい。

たしかに少しやりたくない感じがしますね。

>また、ややこしいと思って紹介しませんでしたが、
>当方のWebページにて曜日を計算で求めて変数に
>セットするバッチを載せていますので参考までに
>ご紹介しておきます。
http://homepage1.nifty.com/jak/batch/date.html#3

ぜひ参考にさせて頂きます。
ありがとうございます。
81.
Re6:日付の取得その2??
2004年01月14日(水) 20時04分
ふぇむ
ふぇむ自己流の日付関連ルーチンからてきとーに抜粋し加工した、年月日から曜日を計算するモノです。ご参考まで。

@echo off
setlocal

 rem ## 本日の年月日
 rem ##(%date% が YYYY/MM/DD で始まることを仮定
 rem ##  そうでない場合は for 文等を利用して抜くべし)
 set YYYY=%date:~0,4%
 set MM=%date:~5,2%
 set DD=%date:~8,2%

 rem ## 月日計算用の配列
 for %%a in ( 0 1 ) do (
  set __M=0
  set __SUM=0
  for %%b in ( %NOT_URUU_LASTDATE_LIST% ) do (
   set /A __M= __M + 1
   set /A __D=%%b
   if !__M! == 2 set /A __D=__D + %%a
   set __LASTDAY_everymonth_%%a_!__M!=!__D!
   set  __SD_pre_everymonth_%%a_!__M!=!__SUM!
   set /A __SUM=__SUM + !__D!
  )
 )

 rem ## 閏年の判定
 set /A inURUU=( ^!( %YYYY% %% 400 ) ) ^| ( ^!^!( %YYYY% %% 100 ) ^& ^!( %YYYY% %% 4 ) )
 rem ## シリアルデートの取得(0ベース)
 set /A inSD=  ( %YYYY% - 1 ) * 365      ^
        + ( %YYYY% - 1 )  /  400  ^
        - ( %YYYY% - 1 )  /  100  ^
        + ( %YYYY% - 1 )  /    4  ^
        + __SD_pre_everymonth_%inURUU%_%MM% + DD - 1

 rem ## 曜日コードの取得
 set /A YOUBI=(%inSD% + 1) %% 7

 rem ## 曜日文字列への変換
 set YOUBIstrbase=日月火水木金土
 call :POINTER_EXPAND_DO YOUBIstr %%YOUBIstrbase:~%YOUBI%,1%%

 rem ## 曜日文字列の表示
 echo %YYYY%年%MM%月%DD%日は%YOUBIstr%曜日です。

 goto end

:POINTER_EXPAND_DO
 set %~1=%~2
 goto :eof

:end
endlocal
 
 


カテゴリー「DATE,TIME…日付、時刻の取得/利用」索引へ

 

カテゴリー一覧

FPCU/FPCDIY QUICK LINK online
この上の各ジャンル名をクリックすると、下のウィンドウが切り替わります▼


=リンク集のインデックスはこちら=

資料書籍

About

2004年01月13日 19:57に投稿されたエントリーのページです。

ひとつ前の投稿は「unixのuniqに相当するコマンドは?」です。

次の投稿は「UNIXのtailに相当するコマンドは?」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

This site is powered by Six Apart
Movable Type 3.33-ja
このブログについて | 運営:有限会社メディアポート