タイトルの通りです。
指定のフォルダ(仮にAとします)に4桁の連番が付いたフォルダ「1111」があります。
手動で定期的に「1112」「1113」..と追加しています。
一回の追加で連番10個の空のフォルダーを作っています。
バッチ処理にしたいこと
・開始番号を決めてから作りたい
(できるならAにある一番大きい数字のフォルダ+1から開始したい)
・一回のバッチで10個フォルダを作りたい
・連番以外のテキストなどは何も含めない(連番のみ)
上記の動作がバッチ1つで可能でしょうか?
ネットで連番フォルダを作成するものは見つけたのですが、
開始が1から始まってしまうので使用が難しいです。。
上のような動きをするバッチを公開しているURLや
コードを教えていただけると幸いです。
No.2ベストアンサー
- 回答日時:
以下のスクリプトを作成してください。
スクリプト名は、sample.vbs とします。(名前は任意ですが拡張子は必ず .vbsにしてください)
この作成したsample.vbsをダブルクリックすると、スクリプトが実行されます。
バッチファイルから呼び出す場合は、
c:\aaa\bbb\sample.vbs
のように記述します。(sample.vbsをc:\aaa\bbbに格納した場合)
尚、スクリプト内の
Const StartFolder = "d:\goo\vbs" '開始フォルダ(あるフォルダ)
の"d:\goo\vbs"をあなたの指定のフォルダに変えてください。
--------------------------------------------------------------------
Option Explicit
Const StartFolder = "d:\goo\vbs" '開始フォルダ(あるフォルダ)
Dim objFSO ' FileSystemObject
Dim objStartFolder ' 開始フォルダ
Dim objREG '正規表現
Dim maxfolder ' 最大フォルダ名
set objREG = New RegExp
objREG.Pattern = "^\d\d\d\d$"
' フォルダ検索関数
Function FindMaxFolder(ByVal objMainFolder)
Dim objSubFolder ' サブフォルダ
FindMaxFolder = "0000"
'サブフォルダを処理
For Each objSubFolder In objMainFolder.SubFolders
if objREG.test(objSubFolder.Name) then
if objSubFolder.Name > maxfolder then
FindMaxFolder = objSubFolder.Name
End if
End If
Next
End Function
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objStartFolder = objFSO.GetFolder(StartFolder)
maxfolder = FindMaxFolder(objStartFolder)
Dim i
For i = 1 to 10
dim num '作成フォルダ(数値)
dim fname '作成フォルダ(4桁の文字列)
num = maxfolder + i
fname = Replace(Space(4 - Len(num)) & num, Space(1), "0")
objStartFolder.SubFolders.Add(fname)
Next
Set objStartFolder = Nothing
Set objFSO = Nothing
tatsu99 様、ありがとうございます。
試したところ連番で10個、そして希望していた、
先にある通番の一番最後から続けてナンバリングまでできていて非常に助かりました...!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ファイル一覧表を使ったファイルの移動 5 2022/08/10 15:37
- Windows 10 ファイルエクスプローラーでフォルダを閉じる操作について 2 2022/10/15 11:06
- Excel(エクセル) 【VBA】指定フォルダに格納中のテキストファイルをエクセルで処理し結果のエクセルを新規フォルダに保存 1 2022/03/25 14:19
- Mac OS Macで今あるファイルの連番(ページ番号)に足し算をしてリネームしたい 1 2022/10/12 17:22
- Excel(エクセル) 【マクロ】ファイル名の日付によって、保管するフォルダを、自動選択したい 4 2023/08/16 11:24
- Excel(エクセル) VBAにてエクセルをpdf化する方法 1 2023/03/10 16:20
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/02/21 11:19
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/20 10:00
- Visual Basic(VBA) batにて、異なるフォルダの同名ファイルを参照し、文字列を判別。擬似配列で変数へ格納 3 2022/04/10 03:37
- Visual Basic(VBA) エクセルのマクロコードの一部分を変更する方法について教えてください。 2 2023/02/17 08:40
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・「みんな教えて! 選手権!!」開催のお知らせ
- ・漫画をレンタルでお得に読める!
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・【選手権お題その3】この画像で一言【大喜利】
- ・【お題】逆襲の桃太郎
- ・自分独自の健康法はある?
- ・最強の防寒、あったか術を教えてください!
- ・【大喜利】【投稿~1/9】 忍者がやってるYouTubeが炎上してしまった理由
- ・歳とったな〜〜と思ったことは?
- ・ちょっと先の未来クイズ第6問
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・【選手権お題その2】この漫画の2コマ目を考えてください
- ・【選手権お題その1】これってもしかして自分だけかもしれないな…と思うあるあるを教えてください
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルのデータをメモ帳に貼...
-
Windows10でコマンドプロンプト...
-
VBA フォルダ名と画像ファイル...
-
Excel VBA マクロ リストボックス
-
VBA フォルダ名に特定の文字を...
-
Wallpaper Engineでおすすめの...
-
ファイル名に特定の文字列を含...
-
フォルダ内のPDFファイル名を変...
-
【VBS】古い日付のフォルダを削...
-
30日前を残して過去の日付フォ...
-
フォルダの場所を可変にしたい...
-
C ファイル出力で、フォルダが...
-
パス名に2バイト文字(マルチバ...
-
excelマクロ 冒頭3文字が一致す...
-
VBAでファイル名を指定して保存...
-
ファイル名と同名のフォルダを...
-
ファイル名から該当フォルダへ移動
-
バッチファイルにて連番付きフ...
-
Access VBA で フォルダ権限...
-
エクセル マクロで指定フォル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Windows10でコマンドプロンプト...
-
会社のネットワーク上のファイ...
-
VBA 最新のフォルダ取得
-
デスクトップの画像をhtmlに表...
-
Access VBA で フォルダ権限...
-
VBA フォルダ名に特定の文字を...
-
ファイル名と同名のフォルダを...
-
ExcelのVBAでフォルダ指定がで...
-
【VBS】古い日付のフォルダを削...
-
パス名に2バイト文字(マルチバ...
-
ExcelVBAでフォルダへのハイパ...
-
C ファイル出力で、フォルダが...
-
【マクロ】フォルダにファイル...
-
[VBS] Unicodeの文字化けを防ぎ...
-
あるフォルダの中にあるファイ...
-
VBA フォルダの複数選択ができない
-
サーバ内のフォルダ名と各フォ...
-
Excelのハイパーリンクについて...
-
Excelで指定したフォルダに保存...
-
excelマクロ 冒頭3文字が一致す...
おすすめ情報