0

次のようなフォルダー構造があります。

世界
    国
        都市1
        都市2
        都市3
        ...

私の仕事のために、各都市の下にたくさんの同じサブフォルダーを作成する必要がありました。google で検索しましたが、dos 環境について何も知らないため、コードを理解できませんでした。視覚的に必要なもの:

世界
    国
        都市1
            サブフォルダー01
            サブフォルダー02
            サブフォルダー03
            ...
        都市2
            サブフォルダー01
            サブフォルダー02
            サブフォルダー03
            ...
        都市3
            サブフォルダー01
            サブフォルダー02
            サブフォルダー03
        ...

Windows 7コマンドを使用して、これを一度自動的に達成するにはどうすればよいですか?

「やってみたけど…」みたいなことも書けなくてごめんなさい。ありがとう

ブラジル

アップデート

私の実際のフォルダ名にはスペースと数字が含まれています!

4

2 に答える 2

1
FOR /D %%V in ("C:\FOLDER\\SUBFOLDER\\*") DO (
 md %%V\\"subfolder01"
 md %%V\\"subfolder02"
 md %%V\\"subfolder03"
 )
Echo "DONE!"

パスが深すぎるか、フォルダ名にスペースや「-」などの「特殊文字」が多く含まれているためにこれが機能しない場合は、次のいずれかを行う必要があります。a
)ターゲット フォルダを同じドライブ(名前を「aaa」などに変更することもできます)、上記のバッチでパスを変更し、それを実行してフォルダーを元の場所に戻す
か、
b) Windowsバッチの代わりにVBスクリプトを使用します:

Option Explicit
Dim myFolder, mySubs
myFolder="C:\folder\subfolder" mySubs="foo,uncleFoo"
Call AddSubFolders(myFolder,mySubs) Call MsgBox ("Done!")
Sub AddSubFolders(targetFolder,subFolderList) Dim FSO, targetF, subF, subSubF Dim sFoldList, iC
sFoldList = Split(subFolderList, ",") Set FSO = CreateObject("Scripting.FileSystemObject") Set targetF = FSO.GetFolder(targetFolder) Set subF = targetF.SubFolders For Each subSubF in subF For iC = 0 To Ubound(sFoldList) Call FSO.CreateFolder(subSubF & "\" & sFoldList(iC)) Next Next Set subF = Nothing Set targetF = Nothing Set FSO = Nothing End Sub
ファイルを作成し、「runme.vbs」などの名前を付け、上記のコードをコピーして貼り付け、「myFolder」の値を実際のターゲット フォルダーの名前に変更し、「mySubs」の値をフォルダー名のカンマ区切りのリストに変更します。サブフォルダーとして追加して実行したい

于 2013-04-30T13:12:18.093 に答える
0

これを試して、出力を見て、問題がなければ削除してくださいecho:

@echo off & setlocal
set /a cityfolders=10 &REM number of subfolders in each city

set /a cityfolders+=100
for /d /r %%i in (world\*) do for /d %%j in ("%%i\*") do (
    for /l %%a in (100,1,%cityfolders%) do (
        set "folder=%%a"
        setlocal enabledelayedexpansion
        set "folder=%%~j\subfolder!folder:~-2!"
        echo md "!folder!"
        endlocal
    )
)
于 2013-04-30T18:52:05.470 に答える