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-Key: 340738

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

Printed on: April 16, 2024 at 04:04 o'clock

Member: holli.zimmi
holli.zimmi Jun 15, 2017 at 09:51:39 (UTC)
Goto Top
Hi,

welches Endung hat dein Batchfile: bat oder cmd?

Gruß

Holli
Member: grisur
grisur Jun 16, 2017 at 02:36:28 (UTC)
Goto Top
Hat eine .bat Endung.
Member: grisur
grisur Jun 16, 2017 at 08:38:25 (UTC)
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.
Mitglied: 133417
133417 Jun 16, 2017 updated at 08:42:55 (UTC)
Goto Top
Nutze die Powershell! An meinen Käfer montier ich ja auch keine Stützräder aus dem letzten Jahrhundert face-wink

Gruß
Member: grisur
grisur Jun 16, 2017 at 08:47:22 (UTC)
Goto Top
Mit Powershell kann man die .bat aber nicht öffnen, die scheint den Befehl nicht zu kennen.
Mitglied: 133417
133417 Jun 16, 2017 updated at 08:57:16 (UTC)
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.
Member: grisur
grisur Jun 16, 2017 at 09:19:54 (UTC)
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.
Mitglied: 133417
133417 Jun 16, 2017 updated at 09:41:26 (UTC)
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}  
}
Member: grisur
grisur Jun 16, 2017 at 11:12:53 (UTC)
Goto Top
Ohje, da muss ich mir erst ein Buch ausleihen, bevor das klappt.
Kann paar Tage dauern face-wink