我試圖從不同的檔案夾路徑匯出一個特定檔案擴展名的串列。我的代碼在某種程度上不作業。
@Echo on
SetLocal EnableExtensions DisableDelayedExpansion
設定 "SourceDir=C:UsersMurrayDocumentsMainfile"
設定 "Ext1=.ssl"
設定 "Ext2=.conf"
for /f "delims=" %%A in ('Dir /B /A:-D "%SourceDir% ^| findstr /ie "%Ext1%" ^|
%SystemRoot%System32findstr.exe /ie "%Ext2%" ') do echo %%A > > C:UsersMurrayDocumentslog.txt
暫停
我想解決的問題是列出不同目錄下的所有檔案,并選擇帶有全路徑的檔案擴展名。我想通過設定變數來做到這一點。我很可能遺漏了一些問題。我的主要目標是從一個日志文本中獲得完整的路徑,然后根據它們的擴展名將它們復制到幾個目錄中(目標路徑將是幾個,我將把它們設定為變數,類似于上面列出的代碼,不使用多個goto子選單)。謝謝你。
@Echo on
SetLocal EnableExtensions DisableDelayedExpansion
設定 "SourceDir=C:UsersMurrayDocumentsMainfile"
設定 "Ext1=.ssl"
設定 "Ext2=.conf"
for /f "delims=" %%A in ('Dir /B /A:-D "%SourceDir%" ^| findstr /ie "%Ext1%" ') do echo %%A > > C:UsersMurrayDocumentslog.txt
暫停
這段代碼從%SourceDir%匯出所有擴展名為.ssl的檔案串列到log.txt中,但我無法添加擴展名為%Ext2%的檔案,以便它們可以被列在同一個log.txt檔案中。實際上,我想了解的真正問題是,我怎樣才能像我的例子那樣在我的代碼中設定多個源變數(不同的檔案夾路徑和檔案擴展名)?例如,我如何在Findstr中使用多個變數?
uj5u.com熱心網友回復:
Dir命令對于源目的地只接受一個引數。如果沒有給出引數,將搜索當前目錄。
如果你也需要搜索子檔案夾,dir命令接受開關/s來搜索源目錄和所有子目錄
為了實作你所尋求的,多個源可以以串列的形式定義到一個變數中,然后可以使用for回圈來酌情迭代每個源。Pushd可以用來將作業目錄切換到sourcelist中的當前專案。
@Echo off
設定本地
:#定義目錄 to 搜索
set sourcelist="%Userprofile
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/329605.html
標籤:
