[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『バッチ作成(フォルダ作成、ファイルコピーフォルダ削除)について』(はな)
2つのbatファイルを作成したいのですが、お恥ずかしながらド初心者でプログラムが書けない状況です。
もしご存知の方がいらっしゃったら、下記処理内容のバッチを作成いただけないでしょうか?
詳細は下記になります。
バッチ1
<処理内容>
(1).「システム日付の月の前月分」フォルダを作成する。(例. システム日付が2019年7月14日の場合、「201906」フォルダを作成する)
(2). 「システム日付の前々月分」フォルダの中にあるExcel「ファイル1.xlsx」を(1)の処理で作成したフォルダにコピーする
バッチ2
<処理内容>
(1). システム日付の月から見て、3ヶ月前のフォルダを削除する(例.システム日付が2019年7月14日の場合、「201904フォルダ」を削除する)
フォルダは全て同じ階層におく予定です。
< 使用 Excel:unknown、使用 OS:Windows7 >
とりあえず、Excelの掲示板なので、Excelのマクロでバッチファイルを作成するコードを書きます。 Excelも知らない、とか言われても知りません。 ざっと書いただけなので、テストしていませんから、ご自身でテスト環境構築してからバッチ実行してみてください。
Sub test() Dim F1 As Integer Dim cw1 As String Dim cw2 As String Dim cw3 As String
cw1 = ThisWorkbook.Path & "\" & Format(DateAdd("M", -1, Now), "YYYYMM") cw2 = ThisWorkbook.Path & "\" & Format(DateAdd("M", -2, Now), "YYYYMM") cw3 = ThisWorkbook.Path & "\" & Format(DateAdd("M", -3, Now), "YYYYMM")
F1 = FreeFile() Open ThisWorkbook.Path & "\test1.bat" For Output As #F1 Print #F1, "mkdir """ & cw1 & """" Print #F1, "copy """ & cw2 & "\ファイル1.xlsx"" """ & cw1 & """" Close #F1
F1 = FreeFile() Open ThisWorkbook.Path & "\test2.bat" For Output As #F1 Print #F1, "rmdir /s/q """ & cw3 & """" Close #F1 End Sub (???) 2019/08/08(木) 11:36
@echo off set Y1=%DATE:~0,4% set M1=%DATE:~5,2% set /a M1=1%M1%-1 if %M1%==100 set /a Y1-=1,M1=112 set F1=%Y1%%M1:~1,2%
set Y2=%Y1% set /a M2=%M1%-1 if %M2%==100 set /a Y2-=1,M2=112 set F2=%Y2%%M2:~1,2%
mkdir %F1% copy %F2%\ファイル1.xlsx %F1%
for /d %%i in ("??????") do ( if %%i lss %F2% ( if 200000 lss %%i ( rmdir /s/q %%i ) ) )
(???) 2019/08/09(金) 16:53
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.