No.4ベストアンサー
- 回答日時:
VBScript版のサンプル
(ハイフン)以下の部分をcollect.vbsのように名前を付けたとしたら
CScript /nologo collect.vbs < data.csv > outdata.txt
の様に実行します。
-----------------------------------------------------------
dim d, str, data, dateData
dim StdIn, StdOut
Set StdIn = WScript.StdIn
Set StdOut = WScript.StdOut
d=Date
Do While Not StdIn.AtEndOfStream
str = StdIn.ReadLine
data = split(str, ",")
dateData = split(data(0)) 'data書式:Sun May 16
if UCASE(dateData(0)) = UCASE(WeekdayName(Weekday(d),true)) and _
UCASE(dateData(1)) = UCASE(MonthName(Month(d),true)) and _
UCASE(dateData(2)) = UCASE(DatePart("d", d)) then
StdOut.WriteLine data(2)
end if
Loop
'MonthNameの英語のみ版
'標準のMonthNameは、システムの設定(言語)で変わる
function MonthName( n , flag)
dim name
name= Array( _
"January", "February", "March", "April", "May", "June", _
"July", "August", "September", "October", "November", "December")
if flag then
MonthName=left(name(n-1),3)
else
MonthName=name(n-1)
end if
end function
function WeekdayName( n , flag)
dim name
name= Array( _
"Sunday", "Monday", "Tuesday", "Wednesday", _
"Thursday", "Friday", "Saturday" )
if flag then
WeekdayName=left(name(n-1),3)
else
WeekdayName=name(n-1)
end if
end function
No.2
- 回答日時:
>どのように日付を取得すればいいのでしょうか?
今日(実行時現在)の日付という意味でしょうか、
単純に、実行する時に自分で設定して(バッチを書き換える)やるか、
collect.bat 'Sun May 16'
のようにパラメータとして渡すといいかと思います。
>dateコマンドに、何かオプションをつければこのような形式に変換し取得できるのでしょうか?
「コントロールパネル」の「地域と言語のオプション」で「英語」にすれば
Sun May 16のような部分をDATEコマンドから取り出すことはできますが、
DATEコマンド自身のオプションとしてはそういう表示に関するオプションはありません。
バッチで難しいようならVBScriptを使うとぐっとできることの幅が広がります。
この回答への補足
マクロの作成とかはした事あるんですが、VBScriptというのは記述した事がありません。簡単に作成できるようなものなんでしょうか?
補足日時:2005/08/17 22:04No.1
- 回答日時:
@echo off
for /F "delims=, tokens=3" %%i in (data.csv) do echo %%i
のような感じで、カンマ区切りの列(サンプルでは、3列めのデータ)を抜き出せます。
例えば、
1列目のデータが日付だったら、3列目が取り出したいデータだったら
@echo off
for /F "delims=, tokens=1,3" %%i in (data.csv) do (
IF %%i==2005/08/15 echo %%j
)
の様にすると%%iに日付%%jに取り出したい列のデータが切り出せるので
IFで日付を比較して、一致するとき%%jを書き出すと言うようにします。
以上のバッチを適当な名前例えば、collect.batとしたとすると
collect.bat > outdata.txt
でoutdata.txt というファイルに切り出したデータを保存できます。
この回答への補足
csvファイルに下記のように日付が記載されています。
→ Sun May 16,****,****,
1列目の日付で比較したいんですが、比較するんには元データがないと出来ませんよね。どのように日付を取得すればいいのでしょうか?
dateコマンドに、何かオプションをつければこのような形式に変換し取得できるのでしょうか?教えて下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Excel(エクセル) excelで可視セルのみ置換 3 2022/08/04 11:02
- Excel(エクセル) Excelの数式についての質問 1 2022/10/31 15:50
- Excel(エクセル) Excelマクロ 差分抽出の方法が知りたいです。 2 2023/03/07 13:25
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
- Excel(エクセル) Excelマクロの差分抽出のコードを教えていただきたいです。 2 2023/03/14 11:40
- その他(Microsoft Office) Excelの関数(FILTER関数)について教えてください 2 2023/07/31 16:11
- Visual Basic(VBA) Sheet2からオートフィルターで売上日を抽出した件数をカウントし、その件数をSheet1のセルB1 2 2023/01/12 12:24
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
0バイトファイルの判断
-
Googleドライブにインターネッ...
-
メモ帳を保存せずに誤って閉じ...
-
DVD-Rなのに再書き込みや削除が...
-
フォルダを間違って削除しない...
-
jw cadの名前をつけて保存・・...
-
勝手にショートカットのリンク...
-
ショートカットファイルが開け...
-
C:\\Users\\All Users がエク...
-
シェルスクリプトでFTPの実行結...
-
windows defenderで質問です。 ...
-
LTspiceのTime Stepエラーについて
-
ゲームをアンインストールした...
-
NET USE コマンドでエ...
-
Debug Assertion Failed?
-
アイコンを変更したフォルダを...
-
エクセルファイルの使用期限の...
-
VBAでFormat がうまく使えない
-
パソコン(Win10)から削除してい...
-
vcvars32.batを実行できない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
0バイトファイルの判断
-
特定の列の抽出
-
バッチでファイルの読み込み
-
便利なbatファイル
-
バッチファイルでレジストリキ...
-
WSHで複数のファイルを読み取り...
-
http上からcsvをDLして、手元に...
-
jw cadの名前をつけて保存・・...
-
Googleドライブにインターネッ...
-
勝手にショートカットのリンク...
-
ショートカットファイルが開け...
-
メモ帳を保存せずに誤って閉じ...
-
DVD-Rなのに再書き込みや削除が...
-
VBAでFormat がうまく使えない
-
Debug Assertion Failed?
-
急いでいます。XDWファイルの開...
-
シェルスクリプトでFTPの実行結...
-
フォルダを間違って削除しない...
-
Thunderbirdのプロファイルが読...
-
更新日時等の表示がおかしい
おすすめ情報