![]() |
|
|||||||
| 論壇說明 |
|
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
|
主題工具 | 顯示模式 |
|
|
#6 (permalink) |
|
管理員
![]() ![]() |
語法:
@echo off
:ReKeyIn
set num1=bbbb
set num2=cccc
set name=AA
call :Dirs
set /p "name=請輸入資料夾名稱: "
:ReNum1
set num1=bbbb
call :Dirs
set /p "num1=請輸入開始編號(1~9999): "
set /a num1=%num1%
if %num1% EQU bbbb (
echo.& echo.開始編號輸入為 0 錯誤,請重新輸入。
echo.& Pause & goto :ReNum1 )
if %num1% LSS 1 (
echo.& echo.開始編號輸入為 0 錯誤,請重新輸入。
echo.& Pause & goto :ReNum1 )
:ReNum2
set num2=cccc
call :Dirs
set /p "num2=請輸入結束編號(1~9999): "
set /a num2=%num2%
if %num2% EQU cccc (
echo.& echo.結束編號輸入為 0 錯誤,請重新輸入。
echo.& Pause & goto :ReNum2 )
if %num2% LSS 1 (
echo.& echo.結束編號輸入為 0 錯誤,請重新輸入。
echo.& Pause & goto :ReNum2 )
if %num1% GEQ %num2% (
echo.& echo.結束編號>=開始編號的錯誤,請重新輸入。
echo.& Pause & goto :ReNum2 )
call :Dirs
set /p "YesNo=請確認資料夾名稱(正確輸入 Y,錯誤要重新輸入者輸入 N): "
if /i %YesNo% == N (goto :ReKeyIn)
if %num2% LSS 10 (goto run1)
if %num2% GEQ 10 if %num2% LSS 100 (goto run2)
if %num2% GEQ 100 if %num2% LSS 1000 (goto run3)
if %num2% GEQ 1000 if %num2% LSS 10000 (goto run4)
goto :eof
:run1
for /L %%V in (%num1%,1,%num2%) do (
cls
echo.建立資料夾: %name%-000%%V
call:Make_Dirs %name%-000%%V
)
goto :eof
:run2
for /L %%V in (%num1%,1,%num2%) do (
cls
echo.建立資料夾: %name%-00%%V
call:Make_Dirs %name%-00%%V
)
goto :eof
:run3
for /L %%V in (%num1%,1,%num2%) do (
cls
echo.建立資料夾: %name%-0%%V
call:Make_Dirs %name%-0%%V
)
goto :eof
:run4
for /L %%V in (%num1%,1,%num2%) do (
cls
echo.建立資料夾: %name%-%%V
call:Make_Dirs %name%-%%V
)
goto :eof
:Dirs
cls
echo.
if %num1% EQU bbbb if %num2% EQU cccc (echo.目標主資料名稱: "%name%-%num1%"~"%name%-%num2%")
if %num1% LSS 10 if %num2% EQU cccc (echo.目標主資料名稱: "%name%-000%num1%"~"%name%-%num2%") else (echo.目標主資料名稱: "%name%-000%num1%"~"%name%-000%num2%")
if %num1% GEQ 10 if %num1% LSS 100 if %num2% EQU cccc (echo.目標主資料名稱: "%name%-00%num1%"~"%name%-%num2%") else (echo.目標主資料名稱: "%name%-00%num1%"~"%name%-00%num2%")
if %num1% GEQ 100 if %num1% LSS 1000 if %num2% EQU cccc (echo.目標主資料名稱: "%name%-0%num1%"~"%name%-%num2%") else (echo.目標主資料名稱: "%name%-0%num1%"~"%name%-0%num2%")
if %num1% GEQ 1000 if %num1% LSS 10000 (echo.目標主資料名稱: "%name%-%num1%"~"%name%-%num2%")
echo.
goto :eof
:Make_Dirs
for /F "eol=; skip=1 tokens=1 delims=," %%A in ( MDs.txt ) do (
echo.建立子資料:"%%A"
md "%1\%%A"
)
goto :eof
字典檔需要與批次檔在一起,MDs.txt 字典檔 的內容 語法:
;MDs.txt 字典檔 開發\CAD 開發\PPAP 開發\成本 開發\成績表 開發\異常 品管\客訴 品管\不良品統計 品管\品質異常處理 品管\圖片及CP 品管\進料 品管\出貨 品管\量測資料 品管\特採申請 品管\產品定期稽核 品管\CPKPPK 品管\配合廠商 車床\SOP 車床\機台程式 銑床\SOP 銑床\機台程式 字典檔的方式主要是依照 FOR /F "eol=; skip=1 tokens=1 delims=," 的控制敘述 /F 表示開啟 FOR 的讀檔模式 " " 表示為 /F 的進階控制參數 eol=; 表示 ; 號之後的該行文字敘述為「註解」。 skip=3 表示一開始跳過的行數。 tokens=1 是對應的 FOR 的 %%V 參數的對應個數,詳細請參考 FOR /? 。 delims=, 表示 , 是用來決定單行資料區分,幾個區分斷的符號,當不輸入的話,以 預設值為空白、tab 符號為區隔。 詳細請參考 FOR /? 。 此帖於 2013-12-10 11:34 AM 被 getter 編輯. |
|
|
送花文章: 37855,
+20 金幣
|