
\\test\配下には、毎月の実績ファイルが下記のように格納されています。
WinXPで、バッチファイルを使用して当月の実績ファイルをコピーしようとしています。
※月がmm表示とm表示で混在しています
●ディレクトリ
\\test\
●ファイル
2010年1月.xlsx
2010年2月.xlsx
・・・
2010年12月.xlsx
今回、mm表記の月名に対応して、下記のようなコマンドを書いてみました。
2010年12月分については想定通りコピーできました。
ただ、mm表記とm表記が混在する場合の書き方が分かりません。
ご教授願えますでしょうか。
※やり方として思いつくのは下記ですが、実装ができません。
(1)下記でファイルが取得できない場合に、yyyy年m月ファイルを取得する、という判断を入れる
(2)mm月の十の位が0だったら一の位のみ使ってyyyy年m月ファイルを取得する
---------+---------+---------+
●書いてみたコマンド
REM ファイル名にyyyy年mm月をセットしてファイル取得
copy \\test\毎月の実績(%yyyy%年%mm%月).xlsx
REM クライアントの本日日付をorgdateという引数にセット
REM 形式は"yyyy/mm/dd"
set orgdate=%date%
REM orgdateから年(yyyy)を抜き出してorgyearにセット
set orgyear=%yyyy/mm/dd:~0,4%
REM orgdateから月(mm)を抜き出してorgmonthにセット
set orgmonth=%yyyy/mm/dd:~5,2%
REM ファイル名にyyyy年mm月をセットしてファイル取得
copy \\test\毎月実績(%yyyy%年%mm%月).xlsx
No.1ベストアンサー
- 回答日時:
環境変数の一部取り出しの方法をご存じなのに、あと何がわからないのでしょう?
全体でこんな感じですかね。
set orgdate=%date%
set orgyear=%orgdate:~0,4%
set orgmonth=%orgdate:~5,2%
if %orgmonth:~0,1% == 0 orgmonth=%orgmonth:~1,1%
copy \\test\毎月実績%orgyear%年%orgmonth%月.xlsx ~~
ありがとうございました。
ifの書き方、変数に再帰的に値を渡すことができるという点、非常に勉強になりました。
notnotさんの教えてくださった方法を参考に、下記のとおりとしました。
※元々乗っけていたものには、変数名に誤りがありました。
---------+---------+---------+
REM クライアントの本日日付をorgdateという引数にセット
REM 形式は"yyyy/mm/dd"
set orgdate=%date%
REM orgdateから年(yyyy)を抜き出してorgyearにセット
set orgyear=%orgdate:~0,4%
REM orgdateから月(mm)を抜き出してorgmonth_preにセット
set orgmonth=%orgdate:~5,2%
REM monthの十の位が0の場合、orgmonthは再帰的にorgmonthの一桁目のみをセット
if %orgmonth:~0,1%==0 set orgmonth=%orgmonth:~1,1%
REM ファイル名にyyyy年mm月をセットしてファイル取得
copy \\test\毎月実績%orgyear%年%orgmonth%月.xlsx
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Excel(エクセル) エクセルの数式で教えてください。 2 2022/12/23 14:57
- Access(アクセス) エクセルのVBAについて教えてください。 4 2023/01/21 10:21
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 09:24
- Excel(エクセル) Excel 数行を1組とする300組ほどあるデータの項目を揃えたいです。 3 2023/01/26 19:38
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/01/23 17:13
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
- Access(アクセス) Accessのデータ型の日付/時刻型について 1 2023/04/02 17:03
- Excel(エクセル) 【vba】日付の形式が勝手に変わってしまう。 1 2022/09/29 10:54
- MySQL SQLについて質問です。 SELECT TO_CHAR(TO_DATE('90-10-08.'YY- 4 2022/05/13 20:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「ブルーファイル」と「グリー...
-
binファイルを解凍したいの...
-
公文書のxmlファイルの開き方が...
-
HTMLを正しく表示させるには
-
Latexで図番号だけを「図1.1」...
-
大容量のファイルをseek関数で...
-
flaをswfにするわけは?
-
VBA : CSV、xlsファイルを内...
-
アクセス禁止?のやり方
-
Matlab/ @の意味
-
複数のfunctionをonclickで実行...
-
JPEGファイルの開き方
-
バッチファイル 月のmm表示とm...
-
Windowsのファイル関連付けにつ...
-
動画ファイルの結合について、b...
-
パッチの作り方
-
ファイル時刻の変更直後の時刻取得
-
Windowsのエクスプローラーでフ...
-
exeファイルの作り方
-
CGI作成ファイル所有者をEveryo...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドプロンプトで作成日時...
-
アクセス 壊れた? 「ファイ...
-
binファイルを解凍したいの...
-
.NETアプリを作ったときの .man...
-
リンクの張り付けかたを教えて...
-
公文書のxmlファイルの開き方が...
-
#include <Windows.h>というヘ...
-
Latexで図番号だけを「図1.1」...
-
コマンドプロンプトで、指定し...
-
jarファイル
-
「ブルーファイル」と「グリー...
-
ファイルが開かれているかどう...
-
バッチ処理で追記コピーしたい
-
VBAでのicsファイル変換
-
CSSを1ページに1枚作るのって変...
-
監視ツールを入れさせられまし...
-
C#でログファイルにファイルパ...
-
exeファイルの中身を見る方法は...
-
自分で作成した重要ファイルを...
-
HTMLからのBATファイル実行
おすすめ情報