2013-03-05 5 views
0

У меня есть три подпапки: папка GHI находится внутри DEF, которая находится внутри ABC. Каждая папка имеет один файл класса (xyz.class). Это означает, что структура каталогов, как:создание и изменение каталога в пакетном скрипте

ABC/ 
    XYZ.class 
    DEF/ 
     XYZ.class 
     GHI/ 
      XYZ.class 

Три XYZ.class файлы не похожи, но имеют одинаковое имя.

Я попробовал скрипт, который использует JAD декомпилировать все xyz.class эс в ABC, DEF, GHI папки и сохранить декомпилированный файл Java в новое место.

У меня есть две проблемы:

  1. поскольку три файла имеют одинаковое имя, предупреждение появляется ли перезаписывать или нет
  2. Я могу сохранить три файла в той же папке, которую я дон Не хочу. Я хочу создать три похожие папки (например, ABC, DEF, GHI) в нужном месте и сохранить только что созданную Java.

Кто-нибудь знает, что делать?

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

ответ

1

Что-то, как это должно заставить вас начать ...

@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" 
) 
+0

Спасибо за помощь :) – shyam

+0

, но это не работает, как ожидалось ... если путь "C: \ Пользователи \ Shyam \ desktop \ test1 " и мое желаемое местоположение " C: \ Users \ shyam \ Desktop \ test2 " приведенный выше код дает следующее местоположение: " C: \ Users \ shyam \ Desktop \ test2 \ Users \ Shyam \ Desktop \ test1" – shyam