0

私は、Windowsのレジストリに追加した作業スクリプトを作成しました。人は右のWindowsエクスプローラでクリックすると、彼らは指定された階層に新しいフォルダを作成しますが、それは、フォルダの名前をユーザーに要求する「新規ジョブフォルダの作成」をクリックすることができます。は、どのように私は同じ階層構造を持つ新しいフォルダを作成するためのテンプレートとして、既存のフォルダの階層構造を使用していますか?

私は特定のフォルダに基づく階層を作成するために私の現在のスクリプトを編集する方法を把握しようとしています。このフォルダは基本的にテンプレートになりますので、私のニーズに合わせてフォルダ構造を更新し、スクリプトを使って作成した各フォルダにこれらの変更が反映されます。助けをあらかじめありがとう!ここで

は、私は私の現在の作業スクリプトに持っているものです。

set verbose=NO 
    @echo off 

    set mydir = %cd% 
    cd %mydir% 
    cls 

    call:main 
    goto:eof 

    :main 
    set /p job=Enter Job Name: 

    call:check 

    if %choice%==2 (echo Creating folder. Please Wait... & timeout 1 > nul & 

    call:createDirectory) 
    goto main 

    :check 
    echo[ 
    if exist "%job%" (echo ERROR: Folder already exists. Please choose a different name. 
    & set choice=1) else (set choice=2) 
    echo[ 
    exit /b 

    :createDirectory 
    md "%job%" 

    md "%job%"\1.Development 
    md "%job%"\1.Development\1.Budgets 
    md "%job%"\1.Development\2.Manufacturers 

    md "%job%"\"2.Plans and Specs" 
    md "%job%"\"2.Plans and Specs"\1.Plans 
    md "%job%"\"2.Plans and Specs"\2.Specs 

    md "%job%"\3.Pricing 
    md "%job%"\3.Pricing\1.Quotes 
    md "%job%"\3.Pricing\2.Worksheets 

    md "%job%"\4.Sumbittals 
    md "%job%"\4.Sumbittals\"1.Submittal Reviews" 

    md "%job%"\5.Orders 
    md "%job%"\5.Orders\"1.Order Summaries" 
    md "%job%"\5.Orders\"2.Confirmation Pages" 

    md "%job%"\6.Closeout 
    md "%job%"\6.Closeout\"1.O&M Manuals" 
    md "%job%"\6.Closeout\2.Warranty 

    exit 
+0

'XCOPY/T 'は、ファイルをコピーせずにディレクトリ構造をコピーします。 –

答えて

0

あなたは再帰的にカレントディレクトリ内のすべてのサブフォルダの一覧を表示するために、現在のディレクトリまたはFOR /D /Rundocumented? /r flag)のサブフォルダを一覧表示するFOR /Dを使用することができます。

@echo off 
setlocal 
set base=c:\mytemplatedir 
set mydir=%cd% 
goto main 

:enumdir 
pushd "%base%\%~1\%~2" 
for /D %%a in (*) do (
    md "%mydir%\%~1\%~2\%%~a" 
    call :enumdir "%~1\%~2" "%%~a" 
) 
popd 
@goto :EOF 

:main 
call :enumdir . . 

か、ファイルやフォルダ(*)(.)用フォルダツリーを歩いてFOR /Rを使用することができます。

あなたが知っている場合は、あなたのテンプレートフォルダは、&が含まれているかもしれません!または名前の代わりに.vbsファイルを使用することを検討したい場合は、特別なバッチ文字を扱う必要はありません。

関連する問題