Batchprogrammierung – die neusten Beiträge

Funktionierender regulärer Ausdruck (CMD) um aus einer Textdatei bestimmte Zeilen mit " zu entfernen?

Eigentlich könnte man ja meinen, dass dieses Problem recht leicht zu lösen sein müsste. 

Aber aus irgendwelchen Gründen ist es das nicht, da " irgendwie für alles einen Sonderstatus hat. 

Also was ich gerne wissen würde: 

 Wie bzw. mit welchem regulären Ausdruck kann man (z.b mit einem Grepbefehl?) alle Zeilen suchen, die mit einem " anfangen ohne, dass dies zu unerwarteten Verhalten führt und z.b der Pfad nicht mehr gefunden wird bzw. keine Ausgabedatei erzeugt wird?  

 Ich hab es jetzt bereits mit dutzenden verschiedensten Varianten versucht: grep '^"' grep '^\"' grep -E '^\"' grep '^\".*' 

und noch X weiteren Variationen, aber entweder werden einfach nur alle Zeilen ausgegeben, die irgendwo im Text ein " enthalten oder es gibt Probleme mit der Erzeugung der Ausgabedatei.

Wichtig wäre in diesem Fall jedoch, dass nur der Anfang (erste Charakter) einer Zeile überprüft bzw. gematched werden soll. Scheinbar soll dies bei Grep ja mit ^ möglich sein und ein Escapen der " mit \. Funktioniert aber alles nicht!

GPT hab ich auch schon gefragt, aber der Bot ist mit der Frage komplett überfordert und gibt nur hanebüchenen Mist aus, der entweder nicht funktioniert oder sehr langsam ist (z.b Ansätze mit Powershell)

Also bevor ich jetzt noch meinen kompletten PC / CPU zu Schrott fahre: Gibt es eine effektive und schnelle Möglichkeit wie man diese Operation aus einer Textdatei alle Zeilen ohne " am Anfang = delete (möglichst mit verfügbaren Onboardmitteln) ausführen kann und falls ja wie?  

Im Idealfall sollten die Zeilen, die nicht gematched werden auch einfach direkt aus der Datei herausgelöscht werden können, anstatt jedesmal den kompletten Inhalt zu kopieren.

Irgendein Tipp?

PC, IT, programmieren, Batch, Batchprogrammierung, cmd, Code, Programmiersprache, Textbearbeitung, PowerShell, Regulärer Ausdruck, Windows 10, CMD Befehl

Was ist mit diesem Batch-Skript falsch?

Ich habe mit meinem Skript weitergemacht und habe wieder ein Problem nämlich bei:

createaccount;passwordcheck

Da steht immer Systempfad nicht gefunden

@echo on
title MESSENGER
mode con: cols=50 lines=10
if exist .\users\ goto welcome

:firstOpen 
mkdir Kontakte 
cd Kontakte 
mkdir users 
cd ..\ 
copy kontakte.bat .\Kontakte\kontakte.bat 
cd Kontakte 
start kontakte.bat 
cd ..\ 
del /F kontakte.bat 
exit


:welcome 
cls 
color 0A 
echo. 
echo =============== 
echo    MESSENGER 
echo ===============  
echo.                                            pause 
color 0B 
cls


:login 
echo. 
echo =========== 
echo    Login    
echo =========== 
echo. 
echo Gib deinen Benutzernamen ein: 
echo (Wenn du kein Konto hast dann gib 1 ein) 
set /p username= 
cls 
if %username%==1 goto createaccount 
echo Gib jetzt dein Passwort ein: 
set /p password= 
if exist .\users\%username%\%username%.dll goto passwordcheck 
echo Konto nicht vorhanden oder Benutzername falsch timeout /t 2 >nul cls goto welcome


:createaccount 
echo. 
echo ======================= 
echo    Account erstellen 
echo ======================= 
echo. echo Gib deinen neuen Benutzernamen ein: 
set /p newusername= 
cls 
echo Gib dein neues Passwort ein: 
set /p newpassword= 
cd .\users\ 
mkdir %newusername% 
echo %newpassword% > .\users\%newusername%\%newusername%.dll
pause 
cls 
echo Dein Account wurde erstellt 
timeout /t 2 >nul 
cls 
goto login


:passwordcheck 
set /p passwordfile=<".\users\%username%\%username%.dll" 
if %passwordfile%==%password% goto loggedin


:loggedin 
cls
echo Hallo
pause

Hier nochmal mit Leerzeilen
Computer, programmieren, Batch, Batch-Dateien, Batchprogrammierung, Batch-Datei, Windows 10

Meistgelesene Beiträge zum Thema Batchprogrammierung