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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) マクロで行を追加、削除すると行位置がずれますが、解決方法はありませんか?。 5 2022/05/28 16:03
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Visual Basic(VBA) 【VBA】先月分の取得ができない理由が分かりません。 2 2022/04/24 11:16
- Visual Basic(VBA) オブジェクトが見つかりません 1 2023/06/24 19:43
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) エラーコード1004 6 2022/06/09 14:12
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- PHP 共通の処理をまとめる方法がわからないのでアドバイスお願いします。 1 2022/12/19 20:20
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
バッチファイルで昨日の日付を取得
その他(プログラミング・Web制作)
-
コマンドプロンプトの「%1」と「%~1」の違いがわからない
その他(プログラミング・Web制作)
-
バッチコマンドでファイル名の一部を参照して削除
その他(プログラミング・Web制作)
-
-
4
至急!バッチ作成について
システム
-
5
コマンドプロンプト標準出力とファイル出力両方
その他(プログラミング・Web制作)
-
6
コマンドプロンプトによるフォルダ内のファイル存在有無
UNIX・Linux
-
7
バッチからsqlplusの接続エラーの検知について
その他(プログラミング・Web制作)
-
8
バッチ処理でファイルの中身を変数に入れるやり方
その他(プログラミング・Web制作)
-
9
exeファイルの中身を見ることは可能ですか?
フリーソフト
-
10
forfilesで検索したファイルをテキストに出力
その他(プログラミング・Web制作)
-
11
バッチでテキストファイルから任意の行のみ取得したい
その他(プログラミング・Web制作)
-
12
コマンドプロンプトでファイル削除時の戻り値を取得したい
その他(プログラミング・Web制作)
-
13
SQLで特定の項目の重複のみを排除した全項目を取得する方法
その他(プログラミング・Web制作)
-
14
DOSコマンドで指定日数よりも過去のフォルダを削除
その他(プログラミング・Web制作)
-
15
COPYコマンドで結合すると余計な改行コードができる
その他(プログラミング・Web制作)
-
16
バッチファイル 複数ファイルの存在確認及び、比較方法
その他(プログラミング・Web制作)
-
17
バッチファイル XCOPYで上書きしない
その他(プログラミング・Web制作)
-
18
xcopyで特定のファイルのみをコピーする方法
Windows 10
-
19
バッチファイル 二つ上のディレクトリのパス取得
その他(プログラミング・Web制作)
-
20
コマンドプロンプトのエラーについて
その他(パソコン・周辺機器)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチでテキストファイルから...
-
バッチファイルで昨日の日付を取得
-
コマンドプロンプト標準出力と...
-
コマンドプロンプトで2ヶ月前3...
-
バッチファイルで常に最新の現...
-
コマンドプロンプトでファイル...
-
バッチファイルでDirで取得した...
-
echoとsystem関数について
-
バッチファイル テキストファイ...
-
DOSのバッチで、変数中のファイ...
-
DOSのバッチで、テキストファイ...
-
子バッチ内のキー入力処理へ自...
-
絶対パス名からファイル名を取...
-
rename コマンドでファイル名を...
-
はじめまして。
-
Excelで住所録を地域ごとに振り...
-
VBアプリケーションで終了コー...
-
C#でメジャーなバッチフレーム...
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトのエラーに...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチでテキストファイルから...
-
コマンドプロンプト標準出力と...
-
コマンドプロンプトで2ヶ月前3...
-
バッチファイルで昨日の日付を取得
-
コマンドプロンプト(バッチファ...
-
絶対パス名からファイル名を取...
-
バッチファイルでDirで取得した...
-
VBアプリケーションで終了コー...
-
DOSのバッチで、テキストファイ...
-
コマンドプロンプト(バッチ)...
-
子バッチ内のキー入力処理へ自...
-
バッチファイルで2つ以上の変...
-
バッチファイルで常に最新の現...
-
コマンドプロンプト画面の閉じ...
-
IPアドレスの第3オクテットだ...
-
コマンドプロンプトでファイル...
-
呼び出し元バッチを知るには?
-
telnetの自動シェルバッチを作...
-
batの変数を直接vbsのプログラ...
-
バッチファイル ファイル内で改...
おすすめ情報