
バッチファイルでフォルダを作る際に、
「今日の日付+連番」でフォルダを作成するバッチを
作りたいと考えています。
例えば、
20090911-01_○○○○
20090911-02_△△△△
20090911-03_□□□□
というフォルダがあった時、「20090911-04」
というフォルダが作成されるような動きで、
次にバッチを動かした場合には「20090911-05」というフォルダが
作成されるように、
「今日の日付+番号」の番号を+1ずつ足していくには
どのように記述すればいいでしょうか。
ご存知の方がいましたら、教えてください。
よろしくお願いします。
OS:Windows2000、XP
No.4ベストアンサー
- 回答日時:
VBScriptの例
Option Explicit
'コマンドラインパラメータをチェック
If WScript.Arguments.Count = 0 Then 'パラメータ無しの場合
MsgBox "親フォルダ名を指定してください", _
vbCritical, "エラー"
WScript.Quit 1 '終了コード=1
End If
'変数の宣言
Dim FSO, FLD, OBJ, FNM, REG, TDY, MXN, TMP, TGF
'コマンドラインパラメータの1番目を取得
TGF = WScript.Arguments(0)
'本日のYYYMMDDの編集
TDY = CStr(Year(Now) * 10000 + Month(Now) * 100 + Day(Now))
'正規表現オブジェクト
Set REG = New RegExp
REG.Global = True
REG.Pattern = "^" & TDY & "_\d{2}" 'フォルダ名のパターン
'ファイル/フォルダ操作用のオブジェクト
Set FSO = CreateObject("Scripting.FileSystemObject")
Set FLD = FSO.GetFolder(TGF)
MXN = 0 '連番最小値
For Each OBJ In FLD.SubFolders 'サブフォルダを順に処理
FNM = OBJ.Name 'フォルダ名を取得
If REG.Test(FNM) Then 'パターンに一致した場合
TMP = CLng(Mid(FNM, 10, 2)) 'YYYYMMDD_NN のNNを数値化
If TMP > MXN Then MXN = TMP '現在までの最大値なら記録
End If
Next
'最大値+1でフォルダを作成
TMP = CStr(MXN + 1)
If Len(TMP) < 2 Then TMP = "0" & TMP
If Right(TGF, 1) <> "\" Then TGF = TGF & "\"
FSO.CreateFolder TGF & TDY & "_" & TMP
WScript.Quit 0 '終了コード=0
上記を適当なエディタにコピペし、漢字全角を半角空白に変更します。
これは字下げに漢字空白を使っているためです。次に拡張子を.VBSで
保存(名前は任意)します。あとはコマンドラインから以下のように
打ち込めば実行します。
xxx.vbs C:\~
尚、親フォルダを受け取るのにBrowseForFolder(フォルダを選択する
ダイアログ)を使う方法もあります。ちょっと、バッチっぽくないか…
ありがとうございます。
完全に自分が求めた動きです。
***.vbsのファイルはどこに行っても見た覚えがあるので、
きっといろいろな場所で使えると思います。
本当にありがとうございました。
No.3
- 回答日時:
2桁限定でいいなら
for /L (1,1,9) do if not exist %DATE:/=%-0%n (mkdir %DATE:/=%-0%n & goto :EOF)
for /L (10,1,99) do if not exist %DATE:/=%-%n (mkdir %DATE:/=%-%n & goto :EOF)
みたいにやれば何とかならんでもないかもしれない.
回答ありがとうございました。
情けない話ですが、
Tacosanさんの例を参考にして自分で作ってみようとはしたのですが、
自分の頭ではどうにも限界なようです。
なんとなく、自分の知っている言語とは記述の仕方が違う様に
感じられ、なかなか理解できませんでした。
まずはfor文とif文の使い方から勉強していこうと思います。
No.2
- 回答日時:
バッチの中からスクリプトを
呼ぶのもある意味バッチ処理だと思うが。
dirとfor構文と環境変数を駆使すれば出来るかもわからんね。
スクリプトで書いたほうがスマートだと思うけど。
dirで親フォルダに入っているもの一覧を作り、
FINDで今日の日付を検索して、
検索結果の件数に+1すればいいのかな?
と思って一度作ってみました。
dir /b /ad 親フォルダ名 | find /c "%date:~0,4%%date:~5,2%%date:~8,2%"
で件数は出たのですが、
どうやって+1すればいいのかな?
という所で詰まりました。
No.1
- 回答日時:
バッチでは難しいような気がしますね。
Scriptではダメですか?あと、このフォルダの親パスはどうやって決めるのですか?
もう一つ、連番は数字2桁限定ですか(100以上にならない)?
バッチでは難しいですかね・・・
Scriptがよく解らないのと、
バッチなら特に環境を気にせずに使えるかなぁと思いまして。
親パスは
set OYAPATH = ○○\△△\□□
mkdir %OYAPATH%\%date:~0,4%%date:~5,2%%date:~8,2%
のように作ればいろいろな場所で使えるかなぁと思っています。
連番は多くても30までです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】ファイル名の日付によって、保管するフォルダを、自動選択したい 4 2023/08/16 11:24
- Excel(エクセル) ファイル一覧表を使ったファイルの移動 5 2022/08/10 15:37
- Excel(エクセル) 2つのマクロを連続して動かしたい 3 2022/09/20 23:46
- Visual Basic(VBA) Excel VBA 同じ名前のフォルダがあれば作成したブックを格納するマクロをつくりたい 2 2023/01/16 16:19
- システム パソコンの共有フォルダ移動について教えてください。 2 2022/04/07 10:14
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Mac OS Macで今あるファイルの連番(ページ番号)に足し算をしてリネームしたい 1 2022/10/12 17:22
- フリーソフト フォルダ、ファイル名の一括変換について 3 2023/03/16 09:23
- PDF PDFを自動添付したメールを送信してくれるツールを探しています。 2 2023/02/07 15:19
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
会社のネットワーク上のファイ...
-
VBA 最新のフォルダ取得
-
Excelで指定したフォルダに保存...
-
ファイル名と同名のフォルダを...
-
eclipseを日本語版ってあるんで...
-
【コマンドプロンプト】名前順...
-
フォルダを開いて、閉じるのプ...
-
フォルダにリンクを貼りたい
-
一部のフォルダのみ複製(コピ...
-
デスクトップの画像をhtmlに表...
-
Excel VBA マクロ フォルダ名を...
-
ファイル保存時のダイアログ表...
-
VBA フォルダ名に特定の文字を...
-
excel VBA Dirにて検索したフォ...
-
hspでファイル削除命令
-
条件に合うフォルダが存在する...
-
マクロの相対参照について
-
outlook マクロが終了しません。
-
perlでフォルダ作成
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
会社のネットワーク上のファイ...
-
パス名に2バイト文字(マルチバ...
-
デスクトップの画像をhtmlに表...
-
【マクロ】ファイル名の日付に...
-
C ファイル出力で、フォルダが...
-
ファイル名と同名のフォルダを...
-
Excelのハイパーリンクについて...
-
VBA 最新のフォルダ取得
-
Excelで指定したフォルダに保存...
-
VBAでファイル名を指定して保存...
-
Access VBA で フォルダ権限...
-
サーバ内のフォルダ名と各フォ...
-
excelマクロ 冒頭3文字が一致す...
-
VBA フォルダ名に特定の文字を...
-
カレントフォルダって?
-
Excel VBA マクロ フォルダ名を...
-
VBA フォルダの複数選択ができない
-
ExcelVBAでフォルダへのハイパ...
-
ExcelのVBAでフォルダ指定がで...
おすすめ情報