bat脚本如何把dir命令的输出结果存放在一个变量里??

想把目录下的所有文件作为参数传递给另外一个命令。

我代码如下
set FILES=
for /f "delims=" %%i in ('dir /b') do (set FILES=%FILES% %%i)
echo %FILES%

pause

结果只有最后一个文件名被赋给变量FILES。在线等
知道这是属于变量延迟,改成下边这样的还是不行

set FILES=
for /f "delims=" %%i in ('dir /b') do (set FILES=!FILES! %%i)
echo %FILES%

pause

第1个回答  推荐于2016-05-06
把echo写进for命令中

setlocal enabledelayedexpansion
set FILES=
for /f "delims=" %%i in ('dir /b') do (
set FILES=!FILES! %%i
echo !FILES!
)本回答被提问者采纳

bat脚本如何把dir命令的输出结果存放在一个变量里??
把echo写进for命令中 setlocal enabledelayedexpansion set FILES= for \/f "delims=" %%i in ('dir \/b') do (set FILES=!FILES! %%i echo !FILES!)

如何把dir命令的输出结果存放在一个变量里
把echo写进for命令中 setlocal enabledelayedexpansion set FILES= for \/f "delims=" %%i in ('dir \/b') do (set FILES=!FILES! %%i echo !FILES!)

BAT的使用~如何把DIR查看的文件数量输出到一个TXT里
要改变输入内容的文件,假如把上面的 “统计文件个数.txt”这个文件保存在 c: 下,那么上面的只改有 “统计文件个数.txt”字符的地方,把前面加上输入的路径就行的,那么就是 c:\\\\统计文件个数.txt ,好,就是这样,上面的代码就是这样:echo off setlocal ENABLEDELAYEDEXPANSION echo.>>c:\\\\...

BAT的使用~如何把DIR查看的文件数量输出到一个TXT里
要改变输入内容的文件,假如把上面的 “统计文件个数.txt”这个文件保存在 c: 下,那么上面的只改有 “统计文件个数.txt”字符的地方,把前面加上输入的路径就行的,那么就是 c:\\统计文件个数.txt ,好,就是这样,上面的代码就是这样:echo off setlocal ENABLEDELAYEDEXPANSION echo.>>c...

BAT 中,如何将 DIR 的结果逐条赋值给一系列的变量,以便后用
echo off&setlocal enabledelayedexpansionset a=0for \/f "delims=" %%a in ('dir *.bat \/a\/s\/b') do (set \/a a+=1set "k!a!=%%a")

bat里头能够把某个命令的输出赋值给变量么
可以利用for命令获取 比如列出当前目录中的目录名,用 dir \/ad\/b 现在要赋值,获取最后一个目录名 for \/f "delims=" %%a in ('dir \/ad\/b\/on') do set var=%%a

如何使用bat命令将批量文件夹内的几个文件都复制在一个文件夹内
%%。% %z%set "rootpath=%~dp0"if "%rootpath:~-1%" equ "\\" (set "rootpath=%rootpath:~,-1%")cd \/d "%rootpath%"powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default))...

如何用BAT读取指定目录下的文件名为变量
"F:\\11"') do (if \/i not "%%a"=="22.txt" (set \/a n+=1set "wj!n!=%%a"))for \/f "tokens=1* delims==" %%a in ('set wj') do (echo %%b %%a)echo 共有%n%个文件(夹)set \/p "a=请输入变量名:"set "a=!%a%!"echo 变量对应的文件(夹)是:%a%pause ...

win xp系统中bat批处理之dir命令参数一问
可以用for命令如:for \/f "delims="i in ('dir\/b\/a-d')do echo ~fi 参见for\/?或到我空间看看 补充:要输出到文件只要在后面加>>文件名就行,还可以整体括起来一次性重定向,如(在命令行用):(for \/f "delims="i in ('dir\/b\/a-d')do echo ~fi)>filelist.txt ...

请问bat批处理如何将一个文件移动到以“该文件名称的一部分”命名的文件...
不清楚你的实际文件\/情况,仅以问题中的样例\/说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI\/GB2312,跟要处理的多个文件放一起双击运行<# :cls&echo off&cd \/d "%~dp0"&mode con lines=5000rem 以文件名中的字段创建多级文件夹,并剪切\/移动文件到对应文件夹里path %...

相似回答