如何使用批处理复制特定文件列表?

时间:2014-03-04 12:19:57

标签: batch-file

考虑我有一个包含文件列表
的文件input.txt input.txt
ExampleTestthreeBean.class
ExampleTestoneBean.class

for / f“tokens = *”%% a in(input.txt)do(
      dir / s / b D:\ com \ example_4.1 \ %% a>> Dirfilelisttemp.txt
    )


文件夹结构
.. \ pgmtestone \ ExampleTestoneBean.class
.. \ pgmtestone \ ExampleTestoneBean $ 1Sort.class
.. \ pgmtestone \ ExampleTestoneBean $ 2.class
.. \ pgmtestone \ ExampleTestoneBean $ 3.class
.. \ pgmtesttwo \ ExampleTesttwoBean.class
.. \ pgmtesttwo \ ExampleTesttwoBean $ 1.class
.. \ pgmtesttwo \ ExampleTesttwoBean $ 2.class
.. \ pgmtesttwo \ ExampleTestthreeBean.class
.. \ pgmtesttwo \ ExampleTestthreeBean $ 1Math.class
.. \ pgmtesttwo \ ExampleTestthreeBean $ 2Scroll.class
.. \ pgmtesttwo \ ExampleTestthreeBean $ 2Scroll.class

注意:所需的输出:
.. \ pgmtestone \ ExampleTestoneBean.class
.. \ pgmtestone \ ExampleTestoneBean $ 1Sort.class
.. \ pgmtestone \ ExampleTestoneBean $ 2.class
.. \ pgmtestone \ ExampleTestoneBean $ 3.class
.. \ pgmtesttwo \ ExampleTestthreeBean.class
.. \ pgmtesttwo \ ExampleTestthreeBean $ 1Math.class
.. \ pgmtesttwo \ ExampleTestthreeBean $ 2Scroll.class
.. \ pgmtesttwo \ ExampleTestthreeBean $ 2Scroll.class

实际输出:
Dirfilelisttemp.txt
.. \ pgmtesttwo \ ExampleTestthreeBean.class
.. \ pgmtestone \ ExampleTestoneBean.class

执行此操作后,我将获得“实际输出”。但我无法获得所需的输出。是否有任何获得所需输出的解决方案?

1 个答案:

答案 0 :(得分:0)

如果你告诉他显示ExampleTestoneBean.class,他会说明这一点。 你想要的是ExampleTestoneBean*.class。为此,请使用:

dir /s /b /a-d "D:\com\example_4.1\%%~na*%%~xa" >> "Dirfilelisttemp.txt"

%%~na:仅显示a的名称

%%~xa:仅显示a的扩展名。

(在for /?中描述)

相关问题