Czyli reasumując, masz ileś katalogów, każdy z nich zawiera oprócz plików .LDA, .LDI i .LDX równiez plik LISTA_LDA.TXT, który w sobie zawiera listę plików LDA z danego katalogu. I to posiłkując się tym właśnie plikiem, chcesz dla każdego pliku, którego nazwa zawarta jest w pliku TXT, wykonać konwersję z LDA do ASCII. Dobrze rozumiem? Jeśli tak, to podpowiem Ci, że dla potrzeb realizacji takiego zadania, lepiej by było, gdybyś miał w katalogu nadrzędnym do tych które zawierają pliki .LD? (jak mniemam tutaj nazywa się on KALFE), plik zawierający nazwy i ścieżki do plików, które chcesz skonwertować. Oczywiście dotyczy to sytuacji, kiedy chcesz robić konwersję wszystkich plików .LDA, a nie tylko tych znajdujących się w wybranym katalogu. Aby uzyskać taką listę, wystarczy, że z linii komend będąc w katalogu KALFE wywołasz komendę
dir *.LDA /b /s >LDA2CNV.TXT
Co do pobrania nazwy pliku z pliku zawierającego ścieżki i nazwy wszystkich plików LDA, to metoda zależy od zastosowanego języka w którym napiszesz program który ma wywoływać konwerter. Przykładowo w VBA wyglądałoby to w rodzaju (piszę z głowy):
Open "ListaPlikowLDA.txt" for input As #1
do until not EOF(1)
line input #1, NazwaPlikuLDA
{przetwarzanie jakoś tego pliku}
loop
Ale to jest “rzeźba w g…”, a ja nadal mam silne przeświadczenie, że już na etapie generowania listy plików za pomocą komendy DIR, można spowodować, że plik wynikowy będzie zawierał w każdej linii kompletną komendę do wykonania uzupełnioną o nazwę i ścieżkę do pliku który ma być skonwertowany. Tylko nie mogę się dokopać do tej informacji.W dniu 07.05.2008 , o godzinie 9:41 _został dopisany post przez Doberman_Słuchaj, na szybko zrobiłem tak, jak sugerowałem Ci na początku; 1. Stworzyłem plik zawierający listę plików do przetworzenia wraz ze ścieżkami w których te pliki rezydują (komenda DIR plus te wszystkie pizdrygałki - parametry). 2. Wrzuciłem zawartość pliku wynikowego do Excela do kolumny A 3. W komórce B1 wpisałem formułę
="copy """&A1&""" """&LEFT(A1;FIND(".";A1;1)-1)&".XYZ"""
co jako wynik dało mi komendę kopiowania pliku z nazwą podaną w komórce A1 do tego samego katalogu w którym leży orginalny plik, ale z nazwą pliku nie rozszerzoną o orginalne rozszerzenie, lecz o ciąg “XYZ”
-
Skopiowałem formułę z B1 do wszystkich pozostałych linii.
-
Skopiowałem zawartość kolumny B do pliku z rozszerzeniem BAT i dostałem ślicznego bacza robiącego kopię 673 plików TXT do plików XYZ o tej samej nazwie.
Oczywiście musisz pamiętać o ograniczeniu ilości linii w Excelu do 65536, ale jeśli masz więcej plików do przetworzenia, to pozostaje plik źródłowy zawierający listę plików LDA podzielić na kilka, co za pomoca UltraEdita łatwo zrealizować.