2013-02-27 107 views
1

我正在Win7環境中處理CMD行批處理文件,該文件將根據目錄中列出的文件名創建目錄。Win 7:用於基於文件名創建目錄的CMD批處理文件

我使用這個代碼,但創建的輸出都是片面的,不完整的,只有

setlocal enabledelayedexpansion 
for /r %%i in (*.wav) do (
    set filename1=%%i 
    set folder1=!filename1:~4,10! 
    mkdir !folder1! 
    ) 

pause 

我有此腳本保存在源目錄文本格式的CMD文件,在本地硬盤,雖然它在一個子目錄中。 目錄輸出是部分和中斷的,輸出亂碼,創建的目錄數量與文件數量不匹配,並且創建的目錄似乎嵌套。我研究了這個,似乎無法找到明確的答案。

+0

請添加一些示例。劇本產生了什麼?這與預期結果有何不同? – 2013-02-27 19:58:42

回答

3

目前還不完全清楚你試圖完成什麼。你是否試圖在包含wav文件的同一目錄中創建一個目錄,但沒有.wav擴展名?如果是這樣,你會錯過一些引號,而你正在剝離文件名的錯誤結尾。如果這就是你要完成的任務,它實際上可以用一個命令來完成,而不需要批處理腳本。在命令提示符下鍵入:

for /r %I in (*.wav) do mkdir "%~pnI" 

當然,如果你還是想在一個批處理腳本,使用%%I%%~pnI雙百分比,而不是單一的。有關%%~pnI如何工作的說明,請參閱help for的最後幾頁。

相關問題