2012-12-01 26 views
5

Làm thế nào để di chuyển tất cả các thư mục con trong một thư mục chủ, nhưng KHÔNG thư mục chủ bản thân.Làm thế nào để tạo ra một tập tin thực thi mà sẽ di chuyển CHỈ thư mục con, và NOT thư mục chủ

Đường dẫn nguồn là c: \ book \ music \

Tôi không muốn di chuyển thư mục chủ bản thân vì tôi nhận được một lỗi thiết bị I/O.

Tôi có thể sử dụng mã nào để thực hiện việc này? Vui lòng, xin vui lòng đánh vần mã ra vì tôi là một em bé với dòng lệnh :)

Trả lời

2

Dưới đây là một kịch bản hơi dài, nhưng nó phải làm việc khá tốt. Nó sử dụng "dir", nhưng bạn cũng có thể xem "forfiles". Forfiles linh hoạt hơn, nhưng thực sự rất khó sử dụng.

@echo off 
@rem USAGE: MoveDirs From To 

setlocal 

    set from="%~1" 
    set to="%~2" 

    if "%1"=="" goto :Usage 
    if "%2"=="" goto :Usage 


    for /f "delims=;" %%a in ('dir "%1" /ad /b ') do call :MoveIt "%1" "%2" "%%a" 

    goto :EOF 

:MoveIt 
    move "%~1\%~3" "%~2" > nul || echo Failed to move %3 to %2 & goto :EOF 
    echo Moved %3 to %2 
    goto :EOF 

:Usage 
    echo Usage: moveDirs.bat FromDirectory ToDirectory 
    goto :EOF 
+0

Cảm ơn @ joeking đã hoạt động hoàn hảo! Bạn đã cứu tôi một tấn giờ, và một loạt các file của vợ tôi! – user1868173

+0

+1, này hoạt động ổn – fedmich

1

Bạn cũng có thể muốn đọc trên XCOPY. bạn có thể sao chép tệp, chỉ những tệp không phải là thư mục con rỗng.

kiểm tra các lệnh để tìm hiểu thêm về nó.

xcopy /? 
Các vấn đề liên quan