Batch file 批处理脚本中的目录创建和移动

Batch file 批处理脚本中的目录创建和移动,batch-file,jad,Batch File,Jad,我有三个子文件夹:文件夹GHI在DEF内,而ABC内。每个文件夹都有一个类文件(xyz.class)。这意味着目录结构如下: ABC/ XYZ.class DEF/ XYZ.class GHI/ XYZ.class 三个XYZ.class文件不相似,但具有相同的名称 我尝试了一个脚本,它使用JAD对ABC、DEF、GHI文件夹中的所有xyz.class进行反编译,并将反编译的java文件保存到新位置 我有两个问题: 由于这

我有三个子文件夹:文件夹
GHI
DEF
内,而
ABC
内。每个文件夹都有一个类文件(
xyz.class
)。这意味着目录结构如下:

ABC/
    XYZ.class
    DEF/
        XYZ.class
        GHI/
            XYZ.class
三个
XYZ.class
文件不相似,但具有相同的名称

我尝试了一个脚本,它使用JAD对
ABC
DEF
GHI
文件夹中的所有
xyz.class
进行反编译,并将反编译的java文件保存到新位置

我有两个问题:

  • 由于这三个文件具有相同的名称,因此会出现一条警告,指示是否覆盖
  • 我可以将这三个文件保存在我不想要的同一个文件夹中。我想在所需位置创建三个类似的文件夹(如
    ABC
    DEF
    GHI
    ),并保存新创建的java
  • 有人知道该怎么做吗

    for /r . %G% in (*.class) do jad -s .java -af -d "%my_desired_filelocation%" "%G%"
    

    像这样的事情应该让你开始

    @echo off
    for /R %%G in (*.class) do (
        echo %my_desired_filelocation%\%%~pG
        rem md "%my_desired_filelocation%\%%~pG"
        rem jad -s .java -af -d "%my_desired_filelocation%\%%~pG" "%%~fG"
    )
    

    但这并不像预期的那样有效。。。如果路径是“C:\Users\Shyam\desktop\test1”,而我所需的位置是“C:\Users\Shyam\desktop\test2”,则上述代码给出了以下位置“C:\Users\Shyam\desktop\test2\Users\Shyam\desktop\test1”