Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Diverse Dateien umlenken

Frage Microsoft Windows Systemdateien

Mitglied: 13268

13268 (Level 1)

23.05.2005, aktualisiert 25.05.2005, 7481 Aufrufe, 10 Kommentare

Hallo,

ich bin gerade dabei ein kleines Skript zu schreiben und habe da ein "kleines" Problem.

Also in dem Skript sollen die Dateien explorer.exe und user32.dll von der Festplatte auf ein RAM-Drive kopiert werden.
Soweit kein Problem.

Aber jetzt möchte ich dem BS klarmachen wenn es einen Aufruf für eben diese Dateien bekommt, das er die Datein aus dem RAM-Drive verwendet und nicht die von der Festplatte.

Jetzt werdet Ihr euch sicher fragen wofür der Schmarn, es geht darum das ich ein Windows PE mir gerade bastle das komplett von der CD startet und um den Zugriff etwas zu beschleunigen möchte ich eben diese Dateien aufs RAM-Drive legen.

Ich weiß auch das es da eine Möglichkeit gibt, nur weiß ich nicht mehr wie.

Danke im voraus.
Chris
Mitglied: 10545
24.05.2005 um 08:27 Uhr
Hallo Christian,

ich bin mir jetzt nicht ganz sicher, aber versuche es mal unter "Systemeigenschaften/Erweitert/Umgebungsvariablen..."

Möglicherweise kannst Du es hier setzen.

Gruß, Rene
Bitte warten ..
Mitglied: 13268
24.05.2005 um 09:07 Uhr
Hallo,

danke für den Tip, aber über die Umgebungsvariablen kann ich nur den den Kompletten Ordner umlenken aber keine einzelnen Dateien.
Und ich muss es über eine Batch erledigen, also mit set usw.

Chris
Bitte warten ..
Mitglied: Biber
24.05.2005 um 12:24 Uhr
Hallo Chris,
mein Lösungsvorschlag ist folgender:

- die gewünschten Dateien auf Ramdisk kopieren
- den Suchpfad, d.h. %Path% und Systemumgebung so ändern, dass Ramdisk als erstes gelesen wird.
- und das Ganze in einer wartbaren Autostart-*.bat-Datei mit zwei tools aus dem Microsoft-Resource-Kit
- oder eben ohne die beiden Tools
(dann ist manuelles Ändern der Umgebungsvariablen nötig, wie von Rene angeregt)


aber liebsten wie folgt
du brauchst setx.exe und pathman.exe aus dem RK-Kit!


:: 1. Batchdatei im Autostartorder anlegen oder eine bestehende erweitern

in der "xyz.bat":

:: 2 büschen lesbar und wartbar machen
:: neue Variable %Ramdisk% definieren... Inhalt Laufwerk der Ramdisk
:: neue Variable %OldPath% definieren... Inhalt der bisherige %PATH%
:: neue Variable %FileList% definieren...Inhalt alle Dateien, die auf %Ramdisk% sollen
:: Bedingung: alle dateien in %FileList% werden bisher im %PATH% gefunden.
set Ramdisk=R:\
set oldpath=%PATH%
set FileList=explorer.exe user32.dll beispiel3.exe weissderGilb.com setx.exe pathman.exe usw.com
:: 3. Dateien kopieren
for %%J in (user32.dll setx.exe pathman.exe) do copy %%~sf$Path:J %Ramdisk%
:: nicht verstehen wollen, den FOR-Befehl... einfach machen *gg
::
:: 4 prüfen, ob %Ramdisk schon im %PATH% an erster Stelle steht
If (%path:~0,3%)==(%Ramdisk%) goto :eof
:: sonst machen wir das halt einmalig...
:: 5. Für künftige DOS-Aufrufe den Path dauerhaft machen
setx PATH %Ramdisk%;%OldPath%
:: 6. Für die doofen Windowsprogramme die Umgebungsvariabe "Systempfad" einmal löschen
:: ... und fairerweise wieder neu aufbauen
pathman /rs %OldPath%
pathman /as %Ramdisk%;%OldPath%
:: ich sag es ungern, aber dazu braucht der User die entsprechenden Rechte..
:: wenn der User "nur" den UserPath ändern kann und nicht den SystemPath, dann streich Schritt 5 + 6
:: und mach das in einer Batchdatei unter deinem Namen (RUNAS Admin)
:: ODER wie von Rene vorgeschlagen manuell (Ändern der Umgebungsvariablen einmalig)
:: Schritt 5 und 6 sind ja nur einmal im leben nötig
:: ------------fertich iss


Hope it helps

Frank / der Biber aus Bremen
Bitte warten ..
Mitglied: Biber
24.05.2005 um 13:15 Uhr
die Zeile

for %%J in (user32.dll setx.exe pathman.exe) do copy %%~sf$Path:J %Ramdisk%

sollte natülich

for %%J in ( %FileList%) do copy %%~sf$Path:J %Ramdisk%

heißen.

Ich hoffe, dass nicht zu viele andere Tippfehler drin sind.

Biber
Bitte warten ..
Mitglied: 13268
24.05.2005 um 16:34 Uhr
Hallo Biber,

danke für das Skript, hat aber leider nicht geklappt.
Nach dem Kopieren der Dateien kommt eine Syntaxfehlermedlung und er macht mit der IF Anweisung weiter.
Die Path Variable bleibt unberührt, sprich es wird keine Änderung gemacht.

Gruss
Christian
Bitte warten ..
Mitglied: Biber
24.05.2005 um 19:39 Uhr
Tja, Chris,

So ist das immer mit meiner Software..die reift beim Kunden *feix

Hhhhmmm ...

...das Kopieren der Dateien macht er noch oder macht er nicht??
Hab ich nicht ganz verstanden...

Oder verreckt er erst in der "IF ... goto :eof "- Zeile???

Bitte poste doch noch mal zurück mit Deiner angepassten Autostart-Batdatei, denn:

- entweder ist in der %Filelist% eine Datei dabei, die in Anführungszeichen gehört
- oder im %Path% ist ein Verzeichnisname, der in ...(s.o)
- oder die Ramdisk heißt nicht R:\ bei Dir (*lach, kleiner Scherz)

Dass der %path% unverändert ist (wenn Du nach wie vor im selben DOS-Fenster bist),
... ja, stimmt & sollte so ...
denn diese %Path%-Anpassung hab ich mir bewusst geschenkt..
die wäre meiner Meinung ohnehin wieder vergessen, wenn die Autostart-Batdatei abgearbeitet ist.
Ebenso wie die drei neu definierten variablen %Filelist%, %Oldpath% etc auch nicht dauerhaft gespeichert werden, also beim nächsten Aufmachen eines DOS-Fensters weg sind.

Aber als Trockenübung kannst Du sowohl am Dos-Prompt wie auch in der obigen *-Bat-Datei einfügen/eingeben "set path=%ramdisk%;%path%" bzw. wie oben:

:: zum Testen am Prompt:
set Oldpath=%path%
set ramdisk=R:\
::oder wie die nun heißen mag)

set path=%ramdisk%;%oldpath%

und dann schau mal, was ein echo bringt..

echo %path% sollte nun "R:\;C\windows...."...und weitere 3 Meter Text bringen
echo (%path:~0,3%)................sollte "(R:\)" ...bringen


Würde mich zutiefst deprimieren, wenn wir beide nicht mal son Mini-Batchkrams zum fliegen brächten.

Also, lass uns mal die Kuh vom Eis holen


Frank /der Biber aus Bremen
Bitte warten ..
Mitglied: 13268
25.05.2005 um 08:33 Uhr
Hallo Frank,

also hier erstmal die angepasste Batch

set Ramdisk=B:\
set oldpath=%PATH%
set FileList=explorer.exe user32.dll setx.exe pathman.exe
for %%J in ( %FileList%) do copy %%~sf$Path:J %Ramdisk%
If (%path:~0,3%)==(%Ramdisk%) goto :eof
setx PATH %Ramdisk%;%OldPath%
pathman /rs %OldPath%
pathman /as %Ramdisk%;%OldPath%

Der Fehler tritt direkt nach dem kopieren auf.

x:\i386\system32>copy X:\i386\system32\pathman.exe b:\
1 file(s) copied
The syntax of the command is incorrect.
Danach macht er mit if ----> (b:\)==(B:\ ) goto :eof <--- weiter.
Und beendet die Batch.

Die Trockenübung hat einwandfrei funktioniert.

Gruss
Chris
Bitte warten ..
Mitglied: Biber
25.05.2005 um 10:53 Uhr
*Kopfkratz

Moin Chris,

Nun kommt wieder der Satz, bei dem mich meine Kunden auch immer lächelnd zur Tür bringen: "Bei mir läuft es aber..."

Wer bringt denn diese ausländische Fehlermeldung ("The syntax...") ?
Ist das der CMD-Interpreter oder hast Du eine andere SetX.Exe als ich und die sacht sowas?

*grummel*

Lass uns das mal direkt klären und danach hier posten...

Frank / Biber3_AT_hotmail.de
Bitte warten ..
Mitglied: 13268
25.05.2005 um 11:18 Uhr
Hallo,

also es ist eine Windows PE basierend auf Windows XP (SP2) Prof. in englisch und auch das Resource-Kit ist in englisch.
Die Versionen :

CMD - Microsoft windows XP [Version 5.1.2600]
setx - Version 1.0a (5/31/96)
Über pathman habe ich keine Versions info finden können.

Chris
Bitte warten ..
Mitglied: Biber
25.05.2005 um 11:23 Uhr
okay, Chris...

ich war der Dussel.. *feixxx

also, was schiefgehen kann, passiert bei Setx bzw pathman:

Nimm bitte mal Anfü-Zeichen dort:

setx PATH "%Ramdisk%;%OldPath%"
pathman /rs "%OldPath%"
pathman /as "%Ramdisk%;%OldPath%"


Das sollte das aber reichen. *auf Holz klopft

Frank / der Biber aus Bremen
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(2)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Windows Server
Server sehr langsam bei vielen kleinen Dateien (5)

Frage von MichiBLNN zum Thema Windows Server ...

Batch & Shell
gelöst älteste dateien via batch löschen (6)

Frage von cali169 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (15)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...