所以我想制作一个jar来把所有东西放在“jar”类型的目录中然后让它列出它的目录名,并且它的文件名是:
这样的事情:
Listing of files in Directory c:\abc\123
myJar1.jar
myJar2.jar
...
myJar10.jar
我希望输出显示如下:
<jar href="123/myJar1.jar"/>
<jar href="123/myJar2.jar"/>
...
<jar href="123/myJar10.jar"/>
我一直在使用这个脚本遇到很多问题,我似乎无法接受我正在设置的变量,并让他们按照惯例附加到文本中。
任何帮助都将不胜感激。
答案 0 :(得分:1)
事实证明我的批处理方式非常强大:
@echo off
dir /b /A *.jar > myJars.txt
for %%* in (.) do set CurrDirName=%%~n*
for /F "tokens=*" %%A in (myJars.txt) do echo ^<jar href^="%CurrDirName%/%%A" /^> >> myJars2.txt
答案 1 :(得分:1)
不需要中间文件,也不需要环境变量。
@echo off
>myJars.txt (for %%D in (.) do for %%F in (*.jar) do echo ^<jar href="%%~nD/%%F"/^>)
如果您确实必须包含隐藏文件和系统文件,则以下较长版本可以使用
@echo off
>myJars.txt (for %%D in (.) do for /f "eol=: delims=" %%F in ('dir /b /a-d *.jar') do echo ^<jar href="%%~nD/%%F"/^>)
以上两个都可以重新格式化,以便更具可读性:
:: excludes hidden and system files
@echo off
>myJars.txt (
for %%D in (.) do (
for %%F in (*.jar) do (echo ^<jar href="%%~nD/%%F"/^>)
)
)
:: includes hidden and system files
@echo off
>myJars.txt (
for %%D in (.) do (
for /f "eol=: delims=" %%F in (
'dir /b /a-d *.jar'
) do (echo ^<jar href="%%~nD/%%F"/^>)
)
)