grisur
Goto Top

Bat-File funktioniert nicht mehr nach Creators Update WIN10, Arbeitsspeicherüberlastung

Hallo,
ich hatte mal vor einiger Zeit folgendes Problem:
For Schleife für Abgleich mit Text-Datei und Unterverzeichnisse
welches auch gelöst wurde und ich einwandfrei damit arbeiten konnte.

Heute wollte ich nach längerer Zeit mal wieder damit arbeiten, hab aber festgestellt, dass das Bat-File nicht mehr durchläuft.
Es kommt des Öfteren die Meldung: 'Für diesen Befehl ist nicht genügend Speicher verfügbar'
und schlussendlich bricht er dann ab. Der Taskmanager zeigt auch 1700 MB für die Eingabeaufforderung an.

Warum geht das auf einmal nicht mehr und warum braucht die Eingabaufforderung auf einmal soviel Ressourcen?
Vorher hatte ich nie Probleme damit.
Kann ich an den Einstellungen irgendwas ändern?
Gruß und Danke!!

Content-ID: 340738

Url: https://administrator.de/contentid/340738

Ausgedruckt am: 24.11.2024 um 20:11 Uhr

holli.zimmi
holli.zimmi 15.06.2017 um 11:51:39 Uhr
Goto Top
Hi,

welches Endung hat dein Batchfile: bat oder cmd?

Gruß

Holli
grisur
grisur 16.06.2017 um 04:36:28 Uhr
Goto Top
Hat eine .bat Endung.
grisur
grisur 16.06.2017 um 10:38:25 Uhr
Goto Top
Bringt mich das irgendwie weiter:
http://praxistipps.chip.de/fehlermeldung-nicht-genuegend-arbeitsspeiche ...

Komischerweise steht da aber nicht xxxx,yyyy bei mir sondern Windows SharedSection=1024,12288,512

Was macht die 12288 da?

Gibt es irgendeinen Weg den verwendbaren Arbeitspeicher für die cmd.exe zu begrenzen? Die belegt bei der einfachen Sortieraufgabe im Nu 1773 MB und steht sich damit selber im Weg.
133417
133417 16.06.2017 aktualisiert um 10:42:55 Uhr
Goto Top
Nutze die Powershell! An meinen Käfer montier ich ja auch keine Stützräder aus dem letzten Jahrhundert face-wink

Gruß
grisur
grisur 16.06.2017 um 10:47:22 Uhr
Goto Top
Mit Powershell kann man die .bat aber nicht öffnen, die scheint den Befehl nicht zu kennen.
133417
133417 16.06.2017 aktualisiert um 10:57:16 Uhr
Goto Top
Zitat von @grisur:

Mit Powershell kann man die .bat aber nicht öffnen, die scheint den Befehl nicht zu kennen.
Klar kannst du das,
start cmd.exe -Argumentlist "datei.cmd" -wait  

Das war hier aber nicht Sinn der Sache, sondern das du dein Mini-Skript einfach in natives Powershell portierst. CSVen sind in PS ein Klacks.
grisur
grisur 16.06.2017 um 11:19:54 Uhr
Goto Top
Dann macht er einfach wieder die Eingabeauffordrung auf, aber ohne was zu starten.
"datei.cmd" ist doch meine datei in cmd umbenannt, oder? (Auch mit "" ?)

Es neu zu schreiben, schaff ich nicht, ich war ja schon froh, dass ich es mit der Hilfe hier in batch hinbekommen hab.
Oder kann man den Code von damals ganz einfach übersetzen?

for /d %%u in (*) do ( 
pushd "%%~u"   
md Test 
FOR /F "DELIMS=," %%i IN (Test_red.csv) do move "%%i" "Test\%%i"   
popd 
)

Könnte es dann wieder anpassen.
133417
133417 16.06.2017 aktualisiert um 11:41:26 Uhr
Goto Top
Dann macht er einfach wieder die Eingabeauffordrung auf, aber ohne was zu starten."datei.cmd" ist doch meine datei in cmd umbenannt, oder? (Auch mit "" ?)
Logisch.
Dir fehlen einfach die PS Grundlagen. Da muss natürlich der Pfad zum Skript rein!

gci 'c:\Ordner' -Filter "test_red.csv" -Recurse | %{  
    $subdir = "$($_.DirectoryName)\test"  
    md $subdir -Force | out-null
    (Import-CSV $_.Fullname -Delimiter "," -Header "A","B") | %{move-item "$($_.DirectoryName)\$($_.A)" -Destination $subdir -Force}  
}
grisur
grisur 16.06.2017 um 13:12:53 Uhr
Goto Top
Ohje, da muss ich mir erst ein Buch ausleihen, bevor das klappt.
Kann paar Tage dauern face-wink