
こんにちは、お世話になります。
コマンドプロンプトを用いてファイルの制御を行おうと考えているのですが、
日付に特定の数値を減算した結果を制御するファイル名として扱いたいのですが、
日付に対して演算がうまく動きませんでした。
set FNAME=%date:~0,4%%date:~5,2%%date:~6,1%
これで「20120221」を出力し、この日付数値に対して
set /A SUM=FNAME+1
「SUM=20120221+1=20120222」という感じで計算させたいのですが、
どのようにすれば計算ができるでしょうか?
最終的には、
(1)日付を出力します。
(2)(1)で出した日付に数値を加えます。
(3)(2)で計算した数値をファイル名として使用してファイルのリネームやコピーを行います。
初歩的な質問で大変申し訳ないのですが、ご教授のほどよろしくお願いします。
No.3ベストアンサー
- 回答日時:
No2です。
>set FNAME=%date:~0,4%%date:~5,2%%date:~6,1% > c:\sample.log
>set /A SUM=FNAME+1 >> c:\sample.log
>
>と入力すると普通に日付+1と計算されるのですが、
>batファイルに記載してコマンドプロンプトに読ませると何故か何も計算されませんでした。
>(ログが空っぽ)
計算はされてますよ。表示してないのでログに書かれないだけ。
set FNAME=%date:~0,4%%date:~5,2%%date:~6,1%
set /A SUM=FNAME+1
echo %SUM% > c:\sample.log
をバッチファイルで実行してみてください。set /a がコマンド直うちで結果を表示するのは例外的な機能です。
>最終的なイメージとしては一定期間より以前のログファイルを移動したりするのに使用する予定です。
よくあるのは、「最近の5世代だけ残して古いのを消す・移動させる」とかですね。
ここでも過去に何度となく質問されてるので検索してみてください。
No.2
- 回答日時:
お書きの通り、
set /A SUM=FNAME+1
で計算できますけど??
うまく動かないとは?うまくいかないとすると計算以外の部分がおかしいです。
何をしてどうなったんですか?具体的に書いてください。
「月末を考慮して日付として翌日になって欲しい」とかでは無いのですよね?
ご回答ありがとうございました。
すいません、説明不足でした。
コマンドプロンプトを立ち上げて直接
set FNAME=%date:~0,4%%date:~5,2%%date:~6,1% > c:\sample.log
set /A SUM=FNAME+1 >> c:\sample.log
と入力すると普通に日付+1と計算されるのですが、
batファイルに記載してコマンドプロンプトに読ませると何故か何も計算されませんでした。
(ログが空っぽ)
>「月末を考慮して日付として翌日になって欲しい」とかでは無いのですよね?
最終的なイメージとしては一定期間より以前のログファイルを移動したりするのに使用する予定です。
月末が重なる場合は、
20120301から二日前(20120228)のデータを移動するなどを行う予定です。
No.1
- 回答日時:
>set FNAME=%date:~0,4%%date:~5,2%%date:~6,1%
なんか一桁ずれてるような。
+1するだけですと、月末にバグりそうな。
WSHやPowershellを使ったほうが幸せになれると思います。
参考URL:http://www.atmarkit.co.jp/fwin2k/win2ktips/419ba …
ご回答ありがとうございました。
>set FNAME=%date:~0,4%%date:~5,2%%date:~6,1%
>なんか一桁ずれてるような。
一応実行結果が「20120222」と出力されるのですが何か変でしょうか
>WSHやPowershellを使ったほうが幸せになれると思います。
確かに別のものを使用したほうがいいのですが、
現環境ではコマンドプロンプトを使わないと駄目という縛りがあるのです・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MS-DOSコマンドのリダイ...
-
ファイル名に日付の挿入
-
ASPでの日付の取得について
-
プルダウンメニューの値をDBに...
-
strtotime 前月・前々月の表示
-
Dosブロンプトでtabを出力したい
-
「取得先」という表現について
-
ps3で久しぶりにCDの音楽情報取...
-
ミュージックのアートワークを...
-
MSFlexGridのデータを初期化し...
-
ドライブ文字からハードウェア...
-
PDFLibで解像度取得
-
VBA コレクションに2次元配列...
-
URLのパラメータをGETのままで...
-
VBAでPDFファイルの文書のプロ...
-
syntax error, unexpected 'ech...
-
Yahoo! JAPAN IDを新規取得でき...
-
『週間』カレンダーのサンプル!
-
バッチファイルで、全てのウィ...
-
PHPでwait処理ってできます?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
開始と終了を指定して、その間...
-
ファイル名に日付の挿入
-
現在時刻をyyyymmddhhmmss形式...
-
C言語でシステム日付との差を...
-
strtotime 前月・前々月の表示
-
C言語を使って、ある特定の日の...
-
昨日の日付を取得するVBscript
-
PHPでn日後を計算したい
-
プルダウンで今日以降の日付を...
-
Accessコンボボックス
-
改行されないカレンダー(PHP)
-
Accessで、DAOでAddnew
-
6ヶ月前の日付を取得するにはど...
-
VBAでのDATEについて
-
日付を米国式から日本式に変換...
-
substrの使い方について教えて...
-
昨日の日付名でファイルを作成...
-
日付の比較方法
-
MS-DOSコマンドのリダイ...
-
MYSQLの日付から現在までの年数...
おすすめ情報