Archiv verlassen und diese Seite im Standarddesign anzeigen : Portabilitäts-Problem: Linux Win9x (vfat)
Hallo!
Ich steh vor dem kleinen Problem, das HTML-Webseiten sowohl unter Linux, als auch unter Win9x bearbeitet werden sollen.
Leider gibt es wohl ein minimales Problem mit den Dateinamen. Die Daten liegen auf ein VFAT Partition. Unter Linux sind die Datei-/Verzeichnis-Namen alle klein, unter Win9x mal groß, mal klein geschrieben. Das führt regelmäßg zu Problemen.
Auch der Versuch unter Linux die Datei-/Verzeichnis-Namen mit einem simplen Script in kleine Buchstaben zu wandelnt, half nicht, da unter Windows trotzdem mal groß, mal kleine Namen vorhanden waren.
Ein solches (simples) Script nach Win9x zu portieren und dort auszuführen, scheitert am Aufwand für so ein kleines Script.
Linux/Unix bekommt nun mal die Datei-Namen von der Shell geliefert, unter Windows muß man diese selber suchen (fsfirst, fsnext, nur wo in Perl für Win???).
Also, was bleibt. Ich suche ein simples Tool für DOS/Windows (am besten eine Batch-Datei), welches die Datei-/Verzeichnis-Namen eines kompletten Verzeichnisbaumes rekursive in kleine Buchstaben wandelt.
Kennt jemand sowas?
Ich bin wohl doch zu viel unte Unix/Linux... ;-)
Robert
hi robert,
das problem kenne ich, der größte witz ist eben, das windows zwar groß/kleinschreibung darstellt, jedoch nicht unterscheidet... daher musst Du zuerst alle dateien mit einem anderen dateinnamen zwischenspeichern
umbenennen: MyFile --> MyFile.1 --> myfile
oder kopieren: MyFile --> \tmp\myfile, als script würde ich Dir vbscript empfehlen (vorrausgesetzt, Du hast windows-98)...
das ganze könnte dann in etwa so aussehen:
Public Function CopyFiles(Source As String, Target As String) As Integer
Dim result As Integer
Dim Name As String
On Error Resume Next
Name = Dir(source, vbNormal)
Do While Name <> ""
If Name <> "." And Name <> ".." Then
FileCopy source & Name, LCase(target & Name)
result = result + 1
End If
Name = Dir
Loop
CopyFiles = result
End Function
Sub main()
CopyFiles source, target
end sub
ich hoffe, es funktioniert http://www.linuxforen.de/ubb/smile.gif...
cu, Tosk
[Diese Nachricht wurde von Tosk am 10. April 2000 editiert.]
Hallo!
Nope, leider ist es ein Win95 b Client.
Aber trotzdem Danke für den Tip!
Ich hab zwar schon nach irgend welchen Win-Tools gesucht, aber für so ein simples "Tool" meint jeder zweite gleich er müsse Shareware dafür verlangen (was ein Glück das ich Linux bevorzuge).
Oder die Tools können zwar mit Dateien umgehen, aber nicht Verzeichnisse umbenenen!
Na ja...
Gruß
Robert
sorry robert,
aber dann hat es sich mit scripting, dann bleibt Dir nur, ein eigenes kleines proggy zu schreiben... prinzipiell liese sich das vb-script zwar auch kompilieren, aber dann müsste ich Dir wegen einer 5kb-exe 2mb *.dll's mitschicken... und das sollte doch die letzte lösung sein....
übrigens, es gibt auch linux-shells (mit skript-sprache) für windows! in der aktuellen pc-proffessionell steht ein link dazu (bei den leserbriefen)... nagel mich bitte nicht darauf fest, aber ich versuch mal daran zu denken, zu hause in das heft zu schauen, und den link zu posten...
hast Du eigentlich schonmal versucht, ein solches skript von linux aus mit zugriff auf eine fat/vfat-partition zu starten? das sollte doch ebenfalls funktionieren!
wir bleiben dran...
cu, Tosk
(ps, wenn Du wirklich 2mb-mail haben willst, dann nochmal eine kurze reply...)
Hallo!
Ja, das mit den 2 MB wäre zu viel Overhead.
Das was du wohl meinst ist Cygwin.
Hatte ich schon installiert, aber die integration in Win9x ist extrem umständlich und oft funktioniert auch nicht alles.
Íst mir auch wieder zu viel Overhead.
Nee nee, ich werde mal das alte BC 4.5 auspacken und schauen ob ich damit nicht irgend ein kleines DOS-Tool hinbekomme. http://www.linuxforen.de/ubb/wink.gif
Gruß
Robert
Bernhard Koschnick
12.04.00, 02:22
Hallo Robert
Den Perl-Interpreter für Win kannst Du hier runterladen: http://www.activestate.com/ .
In der Batchsprache sind die Bezeichner LowerCase und UpperCase nicht enthalten. Da scheint es keine Möglichkeit zu geben.
Eine einfache Möglichkeit wäre villeicht, alle files in Grossbuchstaben zu schreiben. Dann werden sie auch unter Win so dargestellt. Wenn Du die files dann von Linux aus zum Server sendest, könntest Du sie vorher in ein Unterverzeichnis mit Kleinschreibung kopieren. Einziger Nachteil, Du könntest die korrekte Verlinkung nur nach dem Kopieren im Unterverzeichnis überprüfen.
Ich hoffe, das kann Dir weiterhelfen.
Gruss
Bernhard
Hallo Bernhard,
danke für den Tip, aber ich habe ActiveState perl für Win32 schon eine weile installiert.
Nur nutzt mir das nichts, da die Übergabe der Datei-Namen unter Win32 Perl anders stattfindet. Bzw. unter einer Unix/Linux Shell (z.B. Bash) übernimmt die Shell die, unter Windows mußt das Programm dies übernehmen. Und genau das ist das Problem.
Ein Perl-Script das uner Linux läuft, muß nicht unter Win-Perl laufen... ;-(
Gruß
Robert
Wird hiermit geschlossen, da Netzmeister mir gezeigt hat, das man ab und zu nur mal die Augen auf machen muß.
Oder umdenken... http://www.linuxforen.de/ubb/smile.gif
Robert
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.