dos批处理命令拼接字符串的问题
我想遍历一个目录,把一个目录下的所有文件,拼接成一个字符串,代码如下setb=for/r./lib/%%iin(*.jar)do(set"b=%b%%%i"echo%b%...
我想遍历一个目录,把一个目录下的所有文件,拼接成一个字符串,代码如下
set b=
for /r ./lib/ %%i in (*.jar) do (
set "b=%b%%%i"
echo %b%>>a.bat
)
执行后,a.bat里面的内容不是我预期的将每个jar文件拼接成一行,而是每次循环都写入了第一个文件的文件名字,且是多行,因为对dos的set命令的用法不是太熟悉,请达人指导一下. 展开
set b=
for /r ./lib/ %%i in (*.jar) do (
set "b=%b%%%i"
echo %b%>>a.bat
)
执行后,a.bat里面的内容不是我预期的将每个jar文件拼接成一行,而是每次循环都写入了第一个文件的文件名字,且是多行,因为对dos的set命令的用法不是太熟悉,请达人指导一下. 展开
3个回答
推荐于2018-03-13
展开全部
@echo off
setlocal enabledelayedexpansion
set aa=
for /f "delims=" %%a in ('dir /b ".\lib\*.jar"') do (
set "aa=!aa!%%a"
)
echo %aa%>a.bat
pause
setlocal enabledelayedexpansion
set aa=
for /f "delims=" %%a in ('dir /b ".\lib\*.jar"') do (
set "aa=!aa!%%a"
)
echo %aa%>a.bat
pause
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2010-03-11
展开全部
for /r .\lib\ %%i in (*.jar) do (
call set b=%%b%%%%~si
)
echo %b%>>a.bat
call set b=%%b%%%%~si
)
echo %b%>>a.bat
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
显示目录:
dir/s/p
administrators*
加了两个开关,/s所有子目录;/p分屏显示。
替换文件名:
ren
andinistrators*
txt*
希望对你有所帮助
dir/s/p
administrators*
加了两个开关,/s所有子目录;/p分屏显示。
替换文件名:
ren
andinistrators*
txt*
希望对你有所帮助
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询