我有一个文件夹结构:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_margin="40dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="5000"
android:textSize="20dp"
android:layout_margin="80dp"
android:scaleY="12.8"/>
</RelativeLayout>
LDS中有许多不同名称的文件夹(所以我将其称为some_folder)。在每个some_folder中,我有一个文件夹 META_INF ,在其中,我有一个名为C:\LDS\some_folder/META_INF/MANIFEST.MF
的文件。
每个MANIFEST.MF
都有内容:
清单 - 版本:1.0
Class-Path:artifact-version:1.0.0
我需要在WINDOWS中使用批处理文件显示文件夹名称,MANIFEST.MF
的上次修改日期和每个文件夹的工件版本号。
答案 0 :(得分:0)
我将从打开的命令行窗口开始使用dir /b /s C:\LDS\MANIFEST.MF
。这应列出MANIFEST.MF
及其子目录下的所有C:\LDS
个文件。然后
for /F "delims=" %G in ('dir /b /s C:\LDS\MANIFEST.MF') do @echo %G %~tG
应显示相同的列表 上次修改日期。然后
for /F "delims=" %G in ('dir /b /s C:\LDS\MANIFEST.MF') do @echo %G %~tG & type "%~fG"
应显示每个文件的上一个列表和内容。然后
for /F "delims=" %G in ('dir /b /s C:\LDS\MANIFEST.MF') do @echo %G %~tG & type "%~fG"|findstr /I "artifact-version"
应将之前列表中每个文件的内容缩小为包含"artifact-version"
字符串的行。
这是我解决这类问题的方法。在批处理脚本中,将%
中的%G
百分号加倍,如下所示:
@ECHO OFF
SETLOCAL EnableExtensions
for /F "delims=" %%G in ('dir /b /s C:\LDS\MANIFEST.MF') do (
echo %%G %%~tG
type "%%~fG"|findstr /I "artifact-version"
rem here you could substitute previous `echo … & type …` commands
rem with another code snippet to make output more `nice`
)
资源(必读):
%~G
等特殊页面)Command Line arguments (Parameters) |
等特殊页面)Redirection