在批处理文件中迭代文件夹名称

时间:2017-03-12 17:33:57

标签: batch-file

目前我正在迭代文件夹中的所有文件,目前我在Sample文件夹中,我这样做:

@echo off

for  /R %%a in ("*") do (
@echo %%a
 )

pause

它列出了这样的文件:

C:\Users\-----\Desktop\Sample\mybat.bat
C:\Users\-----\Desktop\Sample\bin\1.dll
C:\Users\-----\Desktop\Sample\content\themes\2.css

我想要的是列出名称,但是从我放置.bat文件的当前文件夹开始,i。例如,它应该是这样的:

Sample\mybat.bat
Sample\bin\1.dll
Sample\content\themes\2.css

1 个答案:

答案 0 :(得分:0)

返回相对于当前目录的文件列表的一种好方法是使用let arrayData = ["userName" : "\(userName!)"] //UploadArrayPath stores the data in (15-3-2017 Block 2) as seen in the photo above) uploadArrayPath.setValue(arrayData)

xcopy /L

要遍历所有返回的项目,请使用:

pushd "%~dp0.."
xcopy /L /S /I ".\Sample" "%TEMP%" | find ".\"
popd

要删除pushd "%~dp0.." for /F "delims=" %%F in (' xcopy /L /S /I ".\Sample" "%TEMP%" ^| find ".\" ') do ( echo(%%F ) popd 前缀,请使用以下命令:

.\