uruchom piconv w skrypcie perla do konwersji wsadowej


0

Próbuję przekonwertować zestaw plików systemu Windows 10 w katalogu z ANSI na UTF-8. Znalazłem następujące polecenie, które działa w wierszu polecenia dla pojedynczego pliku, jeśli polecenie jest uruchamiane z folderu, w którym istnieje plik źródłowy:

piconv -f windows-1252 -t UTF-8 < SOURCE_File.txt > TARGET_File.txt

Potrzebuję jednak tego sposobu dla WSZYSTKICH plików w wybranym folderze. Myślałem, że mogę użyć perla z poleceniem:

my $Test=system("piconv","-f", "windows-1252", "-t", "UTF-8"," < $SOURCE_File > ","$TARGET_File");

gdzie $ SOURCE_File i $ TARGET_File będą ogólnie zawierać pełne ścieżki plików.

ALE to nie działa! Otrzymuję błędy, takie jak nieprawidłowy argument lub nie mogę otworzyć pliku.

Czy ktoś wie, jak umieścić polecenie piconv w skrypcie perl. Mogę skonfigurować zapętlenie dla każdego pliku w danym katalogu Po prostu nie mogę wypracować polecenia piconv, które konwertuje każdy plik.

Wielkie dzięki

Gauss76

Odpowiedzi:


0

Umieść wszystkie argumenty piconvw jednym ciągu:

system("piconv -f windows-1252 -t UTF-8 $SOURCE_File >$TARGET_File");

OK, wygląda na to, że przegapiłem oczywiste, PONOWNIE! Wielkie dzięki Toto za pomoc.
gauss76,

@ gauss76: Nie ma za co, cieszę się, że to pomaga.
Toto
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.