
2ヶ月前 3ヶ月前の計算をしたいと思っております。
途中までわかるのですが例えば前年度という条件になったとき失敗してしまいます。
2ヶ月前:
@echo off
set YYYYMM=%DATE:~-10,4%%DATE:~-5,2%
set /a TWOMONTHAGO=YYYYMM-2
if %TWOMANTHAGO:~-2%==00 set /a TWOMONTHAGO+=12-100
copy C:\test1\AAA%TWOMONTHAGO%.txt C:\test2\AAA3.txt
if文が間違っているのはわかりますがどう計算したらよいか思いつきません・・・よろしくお願いします。
3ヶ月前:
@echo off
set YYYYMM=%DATE:~-10,4%%DATE:~-5,2%
set /a THREEMONTHAGO=YYYYMM-3
if %THREEMONTHAGO:~-2%==00 set /a THREEMONTHAGO+=12-100
copy C:\test1\AAA%THREEMONTHAGO%.txt C:\test2\AAA3.txt
No.1ベストアンサー
- 回答日時:
たとえば、
set YYYYMM=%DATE:~-10,4%%DATE:~-5,2%
には現在なら200802と入りますね。
set /a TWOMONTHAGO=YYYYMM-2
とすると、200800 が入りますね。
if %TWOMANTHAGO:~-2%==00 set /a TWOMONTHAGO+=12-100
で、00と一致するので 200800 - 100 + 12 で 200712 になりますね。
(これはOKですね)
set /a THREEMONTHAGO=YYYYMM-3
には、200799 と入りますね。
if %THREEMONTHAGO:~-2%==00 set /a THREEMONTHAGO+=12-100
では00を比較しているので合致しませんね。
じゃあ末尾2桁が何だったら +12-100 を計算する条件になるのでしょう?
それは、末尾2桁=00または12<末尾2桁<=99の時です。
条件が二つありますから2行で記載します。
if %THREEMONTHAGO:~-2%==00 set /a THREEMONTHAGO+=12-100
if %THREEMONTHAGO:~-2% GTR 12 set /a THREEMONTHAGO+=12-100
GTR という比較演算子についてはif /?コマンドで確認して下さい。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
バッチファイルで昨日の日付を取得
その他(プログラミング・Web制作)
-
コマンドプロンプトによるフォルダ内のファイル存在有無
UNIX・Linux
-
SQLローダーCSV取込で、囲み文字がデータ中に入っている場合について
Oracle
-
-
4
Batch: フォルダ内の特定のファイル以外を全て削除
その他(プログラミング・Web制作)
-
5
バッチファイルでサーバーのファイルをクライアントへコピーしたい
その他(コンピューター・テクノロジー)
-
6
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
7
oracle spool SJIS → UTF-8
Oracle
-
8
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
9
至急!バッチ作成について
システム
-
10
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
11
FTPの送信結果を検知したい
その他(プログラミング・Web制作)
-
12
batファイルの強制終了を回避したい
Android
-
13
バッチ処理でファイルの中身を変数に入れるやり方
その他(プログラミング・Web制作)
-
14
【バッチプログラム】フォルダ内のファイル名から削除対象を決める
その他(プログラミング・Web制作)
-
15
sqlのエラーハンドリングについて質問です。
Oracle
-
16
ファイルの先頭行を全て削除したい
Windows Vista・XP
-
17
batでsqlplusによる前月データを取得
Oracle
-
18
100万行のCSVを10万行ずつのファイルに区切るには?(UTF-8、改行LF)
Excel(エクセル)
-
19
コマンドプロンプトで作成日時を表示させたい
その他(コンピューター・テクノロジー)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチでテキストファイルから...
-
バッチファイルで昨日の日付を取得
-
コマンドプロンプト画面の閉じ...
-
WinMailCmdのバッチファイルに...
-
コマンドプロンプト標準出力と...
-
コマンドプロンプト(バッチファ...
-
バッチファイル テキストファイ...
-
コマンドプロンプトで2ヶ月前3...
-
バッチファイルでDirで取得した...
-
cygwinのtschで日本語文字化け
-
バッチファイルに日付(ミリ秒...
-
コマンドプロンプトの「%1」と...
-
大量のフォルダからひとつのフ...
-
コマンドプロンプトのエラーに...
-
バッチファイルの内容を表示さ...
-
.txtではなく.logの方が良いの...
-
VBAでワークシートを引数として...
-
Excel(エクセル) VBA プロシー...
-
#include <Windows.h>というヘ...
-
win10の「フォト」で、「次へ」...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチでテキストファイルから...
-
バッチファイルで昨日の日付を取得
-
バッチファイルでDirで取得した...
-
VBアプリケーションで終了コー...
-
コマンドプロンプトで2ヶ月前3...
-
コマンドプロンプト画面の閉じ...
-
絶対パス名からファイル名を取...
-
コマンドプロンプト(バッチファ...
-
コマンドプロンプト標準出力と...
-
バッチファイルで常に最新の現...
-
DOSのバッチで、変数中のファイ...
-
バッチファイル テキストファイ...
-
IPアドレスの第3オクテットだ...
-
コマンドプロンプトでファイル...
-
子バッチ内のキー入力処理へ自...
-
CMDの「Explorer」
-
バッチからバッチを逐次よぶ方法
-
バッチで自動的にディレクトリ...
-
コマンドプロンプト 半角スペー...
-
呼び出し元バッチを知るには?
おすすめ情報