
日付をファイル名に出力したいと思い 以下のバッチを作りました。
20101109.txt というファイルが作成されます。
下の方式で、日本語OSだとログが出力されるのですが、言語を英語に変更するとログが出力できません。(例 地域の言語オプションで変更)
英語OSで 時刻が12時間表記の場合にもログが出力されるにはどう書けばいいのか教えてもらえますでしょうか?
実際に書いていただけると助かります・・・
よろしくお願いします。
@echo off
set dt=%date:~-10%
set tm=%time: =0%
set fname=C:\test\test#%dt:~0,4%%dt:~5,2%%dt:~8,2%%.txt
echo test >> %fname% 2>>&1
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>英語OSで 時刻が12時間表記の場合
ログの書式が YYYYMMDD であれば、とりあえず、時間は関係ないですよね?
書式の差を環境変数からは取得できないので、%DATE% の値を正規表現を使って日付書式を判別する、と言うのでどうでしょう。
以下は US か JP かを判別しています。
YYYY/MM/DD でも MM/DD/YYYY でも TEST#yyyymmdd.txt を出力可能です。
@echo off
REM 書式は気にせず、まずはDATEを丸ごと格納
set dt=%date%
REM 日付書式がYYYY/MM/DDかかMM/DD/YYYYかを判別する
echo %dt% | findstr -b [0-9][0-9][0-9][0-9]/[0-9][0-9]/ >nul
if "%ERRORLEVEL%" == "0" set dtFmt=JP
echo %dt% | findstr -b [0-9][0-9]/[0-9][0-9]/ >nul
if "%ERRORLEVEL%" == "0" set dtFmt=US
REM 日付書式に合わせてdtをセットしなおす
if "%dtFmt%" == "JP" set dt=%dt:~0,4%%dt:~5,2%%dt:~8,2%
if "%dtFmt%" == "US" set dt=%dt:~6,4%%dt:~0,2%%dt:~3,2%
set tm=%time: =0%
set fname=C:\test\test#%dt%.txt
echo test >> %fname% 2>>&1
No.1
- 回答日時:
ここらへんからの応用ですかね?
こういった作業をしたことはないのですが……。
>言語を英語に変更すると
C:\>echo %date%
11/10/2010 Wed
こんなんなりました。
これで、後ろから切り出すと…
C:\>echo %date:~-10%
0/2010 Wed
…これでは、ファイル名として使用できませんよね?
言語設定を確認して書き換えるようにするくらいしか浮かばないですねぇ。
対処方法が…出てこないです。
すみませんが。
# Windowsでそういう処理やらないしなぁ…。
# Cで組めばサクっと処理できますが…親プロセス(コマンドプロンプト)の環境変数、操作できたっけな…
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチでテキストファイルから...
-
コマンドプロンプトで2ヶ月前3...
-
バッチファイルで昨日の日付を取得
-
バッチファイル テキストファイ...
-
絶対パス名からファイル名を取...
-
呼び出し元バッチを知るには?
-
バッチファイルでDirで取得した...
-
大量のフォルダからひとつのフ...
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトのエラーに...
-
複数のbatファイルを自動実行し...
-
特定フォルダ内のファイルを自...
-
HTMLからのBATファイル実行
-
アクセス 壊れた? 「ファイ...
-
binファイルを解凍したいの...
-
.txtではなく.logの方が良いの...
-
エクセルの各セルの内容をそれ...
-
VBAでワークシートを引数として...
-
「読み取りと実行」と「読み取...
-
#include <Windows.h>というヘ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチでテキストファイルから...
-
バッチファイルで昨日の日付を取得
-
バッチファイルでDirで取得した...
-
VBアプリケーションで終了コー...
-
コマンドプロンプトで2ヶ月前3...
-
コマンドプロンプト画面の閉じ...
-
絶対パス名からファイル名を取...
-
コマンドプロンプト(バッチファ...
-
コマンドプロンプト標準出力と...
-
バッチファイルで常に最新の現...
-
DOSのバッチで、変数中のファイ...
-
バッチファイル テキストファイ...
-
IPアドレスの第3オクテットだ...
-
コマンドプロンプトでファイル...
-
子バッチ内のキー入力処理へ自...
-
CMDの「Explorer」
-
バッチからバッチを逐次よぶ方法
-
バッチで自動的にディレクトリ...
-
コマンドプロンプト 半角スペー...
-
呼び出し元バッチを知るには?
おすすめ情報