[[20190808105639]] 『バッチ作成(フォルダ作成、ファイルコピーフォル』(はな) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『バッチ作成(フォルダ作成、ファイルコピーフォルダ削除)について』(はな)

2つのbatファイルを作成したいのですが、お恥ずかしながらド初心者でプログラムが書けない状況です。
もしご存知の方がいらっしゃったら、下記処理内容のバッチを作成いただけないでしょうか?

詳細は下記になります。

バッチ1
<処理内容>

(1).「システム日付の月の前月分」フォルダを作成する。(例. システム日付が2019年7月14日の場合、「201906」フォルダを作成する)  
(2). 「システム日付の前々月分」フォルダの中にあるExcel「ファイル1.xlsx」を(1)の処理で作成したフォルダにコピーする

バッチ2
<処理内容>

(1). システム日付の月から見て、3ヶ月前のフォルダを削除する(例.システム日付が2019年7月14日の場合、「201904フォルダ」を削除する)

フォルダは全て同じ階層におく予定です。

< 使用 Excel:unknown、使用 OS:Windows7 >


初心者だからなんて、仕事の話なら関係ないので、自分でやれよ、というのが第1印象ですね。(初心者だからできません、と上司に答えたら、じゃあ役に立たないから辞めろ、と言われそう)

とりあえず、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

知恵袋にマルチして答えてもらったようで、全くやる気が見られなくてがっかりです。
Excelは全く関係なくなりますが、後続のために、バッチのみで実現する例なぞ書いておきます。(Powershellを使わない)
 @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.