簡體   English   中英

Windows batch命令將文件從文件夾列表復制到目標位置,而無需遍歷子文件夾

[英]windows batch command to copy files from a list of folders to a destination without traversing through the subfolders

我需要遞歸瀏覽Windows目錄列表並將這些目錄中的txt文件復制到目標位置。我正在使用以下代碼:

@echo off

set TESTDIRS=RFP,New Audit
set TD=C:\Users\Audit

for %%d in (%TESTDIRS%) do call :process_testdir %%d
goto :eof

:process_testdir
set CTD=%TD%\%1
echo CTD: %CTD%
    REM Echos the expected path

for /R %CTD% %%f in (*.txt) do (echo %%f
 copy "%%f" "C:\Users\Audit\ImportantDocs)
    REM Echos as expected

goto :eof

我面臨的問題:此批處理腳本遍歷父文件夾中存在的所有子文件夾,並將txt文件復制到目標位置,這不是我想要的。如果我指定文件夾名稱,則我只希望文本文件位於該特定文件夾將被復制到目標位置,而不是其子文件夾中存在的文件。
例如:名為“ RFP”的文件夾包含3個文本文件,還有一個名為“七月”的子文件夾,其中包含5個測試文件。我希望我的批處理腳本僅將“ RFP”文件夾中存在的3個文件復制到目標位置,而不是子文件夾“ July”中存在的5個文件

有幫助嗎??

更改

for /R %CTD% %%f in (*.txt) do (echo %%f

for %%f in ("%CTD%\*.txt") do (echo %%f

/r是遞歸的。 您的目錄名似乎包含空格,因此您需要“使用引號將空格括起來的目錄名”,並使用%~1刪除子程序中的引號,以刪除該引號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM