Ich weiß, aber ein Virus kann ja immer mal kommen

Ich bin das was man heute wohl als Poweruser bezeichnen würde. in 35 Jahren hatte ich bisher 2 Viren. (und ich war sehr aktiv in zwielichtigen Gefielden unterwegs) . Einmal in den frühen 90ern "Stoned" und einen "Eigenbau" , welcher auf mich selbst zurückgefallen ist. 🤪💩

Solange Du nicht auf jeden "großen grünen Downloadbutton" klickst ist die Virengefahr relativ gering.

Warum sollte sich ein Virus für die Runhistorie interessieren? Da gibt es nichts was wirklich interessant wäre.. für ein Virus sind die dortigen Daten einfach zu inkonsistent um wirklich etwas damit anfangen zu können.

Wenn Du die RunHistory leeren möchtet führe folgendes Kommando aus (in cmd, Batch oder "WIN+R"):

reg delete "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\RunMRU" /f

...juhu, das habe ich heute das erste mal seit 10 Jahren wieder gemacht...

Natürlich Blödsinn... in 2 Stunden ist die bei mir genauso voll wie zuvor.

Also unsinnige Spielerei für Paranoiker.

...zur Antwort

Du scheinst nicht wirklich zu wissen was Du da tust.

Normalerweise fragt mysql nach dem password, wenn Du in der Kommandozeile aufforderst dies zu tun indem Du kein Passwort übergibst, jedoch den "--passwort"-Parameter setzt.

Der --passwort-parameter dient der Übergabe eines Passworts in einer Batch

mysql -u root --password="P@sswort" dbname

ist es leer dan übergib einen leerstring:

mysql -u root --password="" dbname

...oder lass einfach den pasword-parameter weg:

mysql -u root  dbname

Du kannst auch den input auf eine extererne Datei umleiten:

mysql -127.0.0.1 <"externeEingabedatei.txt"

da steht alles drin, was Du sonst von Hand eingeben würdest:

externeEingabedatei.txt

-p
P@asswort
USE databasename
SELCT * FROM table;
...blah und blubb
EXIT

Dass, was Du mit sendkeys versucht hast klappt ohnehin nicht.

ws.SendKeys "{ENTER}" ist ein VBScript befehl, den man innerhalb eines VBScripts ausführen kann, jedoch nicht direkt innerhalb einer Batch.

nur mal Infohalber ein Sendkeys script in einer Batch:

@echo off
  rem zur Demo:
  rem erzeuge  eine leere Textdatei 
(call)>"meine Datei.txt"
  rem öffne Diese im Notepad
start "" notepad "meine Datei.txt"
  rem Title des Zielfensters
set "WindowNameToActivate=meine Datei.txt - Editor"
  rem kleines JScript, welches in der Kommandozeile übergebene Zeichenfolgen  an ein  Fenster mit der zuvor festgelegten Überschrift sendet...
echo WScript.Sleep(10);var t='';for (var i = 0; i ^< WScript.Arguments.Length;i++){t=t+WScript.Arguments(i)} ;WshShell=new ActiveXObject("WScript.shell");WshShell.AppActivate('%WindowNameToActivate%');WshShell.Sendkeys(t) >"%temp%\sendkey.js"
  rem makro erzeugen (eleichtert den Aufruf)
set "sendKeys=cscript /nologo "%temp%\sendkey.js" "


  rem etwas Zeit zum öffnen geben
timeout 1 >nul
%sendKeys% "1|0|c|d|efghijklmnopqrstuvwxyz" {Enter} "blu mup" {Enter} mmahhhh murks
  rem weiterschreiben
%sendKeys% {Enter} "Weiter geht's"{Enter}
  rem mal ein paar Zeiln füllen damit wir  etwas "Fleisch"  zum Scrollen  bekommen
for /l %%a in (1,1,100) do  %sendKeys%  "%%a Mississippi" {Enter}
  rem 2 sekunden Luft holen...
timeout 2 >nul
%sendKeys% " " "...das war ein Space Weiter geht's"{Enter} 

  rem lass uns 5 mal Deine  PGUP-Taste senden
for /l %%a in (1,1,5) do %sendKeys% {PGUP}
  rem und  etwas  schreiben 
%sendKeys% "  Hallo ich habe  automatisch gescrolt"{Enter}
%sendKeys% " " "...das war ein Space Weiter geht's"{Enter} 

  rem Speichern? ( achtung in Batch  müüsen %-Zeichen ,die als Textzeichen verwendet werden sollen, verdoppelt werden)
%sendKeys% %%{F4}
echo alles gesendet....
pause

Du siehst es ist garnicht so billig mit Batch ohne externe Programme eine Taste zu senden

...und wehe das Zielfenster verliert warum auch immer den fokus, dann gehen die Tastendrücke sonstwohin

...zur Antwort

Versuche es doch für den Anfang einfach mit JavaScript.

https://www-freecodecamp-org.cdn.ampproject.org/v/s/www.freecodecamp.org/news/future-of-javascript/amp/?amp_js_v=a3&amp_gsa=1&usqp=mq331AQFKAGwASA%3D#referrer=https%3A%2F%2Fwww.google.com&amp_tf=Von%20%251%24s&ampshare=https%3A%2F%2Fwww.freecodecamp.org%2Fnews%2Ffuture-of-javascript%2F

Du musst nichts installieren. Auf jedem System ist ein Webbrowser verfügbar. Oberflächen werden per HTML eingerichtet.

Mit https://www.w3schools.com/js/DEFAULT.asp kannst Du bequem einsteigen.

JavaScript ist syntaktisch sehr nahe an C-Sprachen angelehnt, so dass ein später Umstieg auf C++ oder C# keine Probleme bereitet.

Auch wenn es hier im Forum den Anschein erweckt Python sei die tolle Sprache, lass es fürs Erste. Wenn Du einmal mit Python unterwegs bist, wird es Dir später eher schwerfallen auf eine Klammerstrukturierte Sprache wie Java oder C-Dialekte umzusteigen. Auch wenn die Pythonfraktion hier sehr stark ist, draußen in der Berufswelt sind nachwievor C-ähnliche Sprachen vorherrschend, da beist die Maus keinen Faden ab...

Nur wenige Firmen setzen für Standalone-anwendungen auf Python. Dem Nutzer ist nicht zuzumuten für zusätzliche Laufzeitumgebungen zu installieren. Für Linux- und Windowssysteme sind Java und C# in Sachen JIT-Compiler-Laufzeitumgebung ein QuasiStandard. Für statisch compilierte Anwendungen ist C++ die Sprache.

Die hiesigen Pythonfans sollen doch ihrem Hobby frönen, dies sei ihnen vergönnt, aber das ist nur eine Blase... Die Berufswelt ist weit größer und setzt auf andere Techniken.

...zur Antwort

Ich bin derzeit leider Unterwegs und es wäre mühsam Dir ein adäquates Beispiel auf dem Handy zu schreiben🤮.

Arbeite mit der sessionvariable und cookies...

https://www.gngrninja.com/script-ninja/2016/7/8/powershell-getting-started-utilizing-the-web

http://www.powershellcookbook.com/recipe/vODQ/script-a-web-application-session

https://davidhamann.de/2019/04/12/powershell-invoke-webrequest-by-example/

Sehr elegant läßt es sich mit der "Fernsteuerung" des klassischen Internetexplorers arbeiten .

https://www.gngrninja.com/script-ninja/2016/9/25/powershell-getting-started-controlling-internet-explorer.

...damit agierst Du als würdest Du von Hand auf einer Seite surfen. Diese Variante ist unumgänglich, wenn Teile der Webseite dynamisch durch Javascript erstellt werden.

...zur Antwort

Du stellst überdurchschnittlich viele Fragen bezüglich potenzieller Krankheiten welche Dich ereilen könnten. Dabei handelt es sich in der Regel eher um Krankheiten, welche schlimme Verläufe haben können.

Dies ist nicht normal. Wenn Du nicht bereits unter Hypochondrie leidest, bist Du auf dem besten Weg in einen Morbus Google.

Ein Jugendlicher in Deinem Alter sollte sich mit anderen Sachen beschäftigen, als sich alle Seuchen dieser Welt anzulesen.

Wir leben in einem Land mit einem der besten Gesundheitssysteme auf der Welt. Du kannst, mit jedem Wehwehchen, jederzeit kostenlos einen Arzt aufsuchen. Das einzige was du mitbringen musst ist etwas Zeit. (Nicht mehr Zeit als Du für das Googeln von Krankheiten benötigst).

Ich würde Dir zu einen Termin beim Psychotherapeuten raten. Das hat nichts mit blöd oder verückt zu tun. Es gibt einfach Situationen, in denen "Seele"/Verstand einen falschen Weg einschlägt und allein nicht zur Normalität zurückfinden.

Ich leide wirklich an einer schweren chronischen Krankheit, aber abgesehen davon, dass ich mich änfänglich eingehend zu Umgang damit schlau gemacht habe und mich gelegentlich zu neuen Behandlungsansätzen informieren, kümmere ich mich recht wenig darum, was ich sonst noch bekommen könnte.

Es ist normal, das der Körper irgendwelche undefinierbaren Signale sendet, das Meiste verschwindet nach kurzer Zeit von selbst. Ich sage immer: "Wenn mir nichts mehr wehtut, bin ich wahrscheinlich tot.".

Wenn es im Hals kratzt, bin ich erkältet und habe keinen Lungenkrebs. Kopfschmerzen sind erstmal nur Kopfschmerzen und kein Hirntumor.

Wenn ich 16 Bananen am Tag esse, bekomme ich wahrscheinlich eine irrsinnig Verstopfung und daraus resultierend Bauchschmerzen, welche kein Darmkrebs sind... Über einen möglichen Kaliumüberschuss , hätte ich diesbezüglich nichtmal nachgedacht 😅.

Ernähre Dich einfach normal. Dein Körper sagt Dir was er benötigt. Diese Reaktion nennt sich Appetit. Wenn er irgendwas benötigt, was in Bananen enthalten ist, wirst Du darauf Appetit haben, dann kannst Du bedenkenlos zuschlagen und wenn Dein Körper Dir mitteilt, ich habe jetzt Bock auf einen Liter Kakao, dann braucht er etwas, was darin enthalten ist. Dann schadet Dir auch Milch nicht. Gleiches gilt für jegliche Nahrung. Dein Körper weiß am besten, was er benötigt und nicht irgendwelche Berater aus dem Internet.

Nimm Dir Zeit beim Essen. Nach 20 Minuten stellt sich immer ein Sättigungsgefühl ein, egal ob Du in dieser Zeit eine Banane oder 16 gegessen hast.

Es gibt nur wenige Nahrungsmittel, mit denen der Körper nicht problemlos fertig wird und er wird Dir mitteilen, wenn etwas nicht so gut für ihn war.

Von normaler Nahrung kannst Du garnicht soviel essen, das Du daran stirbst.

...und wenn Dein Körper Dich zu einer Tafel Schokolade verleitet hat, bewege Dich einfach, auf dass die überflüssigen Kalorien verbrannt werden.

Wenn Du das beherzigst brauchst Du keinen Doktor Google und wenn es Dir trotz allem mal nicht so gut geht, weiß Dein Hausarzt Rat. Ein Besuch beim Hausarzt kostet Dich hier nichts. Der Arzt kann sicher entscheiden was nötig ist, das hat er sehr lange studiert und wurde eingehend geprüft um seinen Job machen zu dürfen. Wir hier im Netz sind nur Laien oder Quacksalber. Letzere verdienen Geld damit, Dir einzureden, das Du Ihre Wundermittelchen nötig hast....

...zur Antwort

Erst mal kribbelt nicht ein Finger, wenn Du im Bereich des unteren Rücken ein Wirbelsäulenproblem hast.

Das für die Arme zuständige Nervengeflecht entspringt zwischen dem 5. bis 7. Halswirbel und dem 1. Brustwirbel. Weit weg von den Lendenwirbeln.

Da Du wohl Augenscheinlich Diabetes hast würde ich eher diesbezüglich auf eine Durchblutungsgeschichte tippen. (Ich bin kein Fachmann und kann in diesem Punkt nur Orakeln, dafür ist ein Arzt zuständig)

Selbst wenn Du einen Bandscheibenvorfall hättest, wäre das im allgemeinen kein großes Malheur. Ich hatte einige davon, noch bevor ich einen Orthopädentermin bekam (Wartezeit ca.12...16 Wochen) hatte mein Hausarzt und mein Physiotherapeut das "Problemchen" von allein gelöst.

Ein Bandscheibenvorfall tut meist nur barbarisch weh, weil dabei Nervenfasern gereizt werden. In den seltensten Fällen ist die Ausstülpung derart stark, das ein Nerv gequetscht wird und es zur Lähmung kommt.

Auf der Stelle an der es manchmal wehtut ist mit einem rotbraunen Fleck zu sehen

...Manchmal?🤭?

Ehrlich, wenn Dein vermeintlicher Bandscheibenvorfall kritisch wäre, würdest Du hier im Forum keine Fragen mehr stellen (auch nicht bei einem kleineren). Du würdest jammern und quiekend die 112 wählen und Deine Eltern anflehen, Deinem Leben ein Ende zu machen...😱🥶.

Hast Du vielleicht auf einem Legostein gelegen und einen Bluterguss?

...aber auch in Dieser Sache ist Dein Hausarzt der richtige Ansprechpartner und nicht wir Laien in einem Forum.

Wenn ich so Deine Fragen lese, fällt mir auf, das Du häufig hier Gesundheitsfragen stellst. Sicher bin ich nicht der Erste, der Dich an einen Arzt verweist...

Was bitte ist Dein Problem, welches Dich immer wieder ins Forum treibt, statt direkt und zeitnah einen Arzt aufzusuchen? (Ofters bedeutet, das Die Sache schon länger köchelt)

...oder erwartest Du Aufmerksamkeit oder Mitleid, wenn Du Deine Wehwehchen hier publik machst? ...ok von mir bekommst Du ein laues Mitleids-ohhhhhhhr ...😲😱🥺

...und nun ab zum Doktor... auch mit Deinem Finger, dem Diabetes,dem Fußpilz und Allem was Dich sonst noch alles blagt.

...zur Antwort

Auf Grund einer rheumatischen Erkrankung (Morbus Bechterew) , bin ich gelinde gesagt, geradezu der personifizierte Rückenschmerz.

Erstmal ist es nicht schlecht, dass Du joggst. Dabei solltest Du jedoch auf einen weichen Laufstil achten, welcher nicht allzusehr die Bandscheiben staucht. Harte Stöße wären Kontraproduktiv. Neben dem Laufen solltest Du auch Gymnastik machen um die übrigen Muskelggruppen zu trainieren.

Hier ist immer wieder die Rede von Stützkorsets, Bandagen, Hüftgürteln. Lass die Finger davon, wenn diese nicht ausdrücklich vom Arzt verordnet wurden. Diese bewirken falsch angewendet eine Schwächung der Muskeln.

Die ebenfalls angesprochenen Faszienrollen sind ein wirklich heißes Eisen und mehr Modeschrei als allgemein nutzbringend. Gern wird davon geredet die Faszien aufzubrechen oder zu trainieren. Die Wahrheit ist, das Faszien sehr dünne Haute und Bänder sind, welche innere Organe an ihrem Ort halten und Muskelfasern zusammenhalten. Diese sind passive gewebe, welche keinerlei Trainings bedürfen und Risse führen weniger zu einer Stärkung, als zu Vernarbungen. Das Problem dabei, auch Nervenfasern und Blutgefäße passieren diese Häute. Im Falle von Vernarbungen und Verwachsungen können auch die Passagen von Nerven, Blutgefäßen oder Organen (zB. Harnleitern, Drüsen) förmlich abgedrückt werden. Die Folgen sind Fatal (Ich kann ein Lied davon jaulen). Finger weg, sowas ist gefährlicher Moderator, welcher mehr schadet als nutzt. Ein Physiotherapeut weiß, wo er drücken und ziehen darf, der Faszienrolle ist es egal, wo sie was "aufbrechen" darf und was besser heile bleiben sollte.

!Es gibt auch Erkrankungen , welche absolut keine Verletzungen von Gewebe verzeihen! Die meisten Leute erfahren in der Regel erst davon wenn etwas kaputt gegangen ist. (Nicht natürliche Belastungen schaden in der Regel immer eine Faszienrolle wäre, als würdest Du wiederholt einen steinigen Weg herabrollen oder durch die Äste eines Baums stürzen. .........Ein sehr "natürlicher" Ablauf auf welchen der Körper eingestellt ist🤣🤣🤣🥴)

Als Sitzmöbel kann ich Dir hingegen einen Gymnastikball empfehlen. Damit machst Du nichts kaputt. Anfangs solltest Du nicht übertreiben und nach 20 Minuten Sitzen auf dem Ball der Rückenmuskulatur eine längere Pause gönnen. Einfach mal wieder auf den Stuhl wechseln. Das Sitzen auf dem Ball ist anstrengend, aber der Körper gewöhnt sich daran. (Ich kann auch locker 5..6 Stunden am Stück, vorm Rechner oder Fernseher, darauf sitzen ohne das es stört.)

Der Vorteil der Sitzballs ist, das der Körper um nicht umzukippen ständig den Schwerpunkt korrigieren muss. Auch wenn man es kaum spürt, sind alle Muskeln ständig mit kleinen Bewegungen beschäftigt. (Das kann richtig "schlauchen")

Der Ball sollte keinesfalls hart aufgepumpt werden. Etwas wabbelig ist Ideal zum Sitzen.

Ansonsten Bewegen, Bewegen, Bewegen.... Am besten im Freien und mehrere Stunden täglich. (Eine halbe Stunde joggen , ist so gut wie nichts)

An alle, welche mein Bashing bestimmter "Hilfsmittel" sauer aufstößt:

Ich bin kein Sportguru, aber ich habe in den letzten 10 Jahren sehr viel über dem Bewegsapparat lernen müssen (vieles schmerzhaft) und bin mehr als glücklich noch keine steife Wirbelsäule zu haben. Ich bin mit für einen Mann meines Alters normalgewichtig und täglich 3..5 Stunden mit dem Hund in der "Pampa" unterwegs ohne mich zu verausgaben.

Für einen jungen gesunden Menschen sollte dergleichen Problemlos möglich sein.

Ein kleiner Tipp, welche glauben etwas zu verpassen, wenn sie nicht vor Computer oder Glotze hocken... Wenn man unterwegs ist, lernt man Leute kennen, mit denen kann man richtig gut kommunizieren Stunden lang und in Bewegung. Einen Film kann man durch ein Hörbuch ersetzen das stört auch nicht beim Bewegen.

...zur Antwort
Ich möchte einem Freund einen Ordner direkt von einem USB-Stick in ein bestimmtes Verzeichnis schieben. 

Fragen wie die Deine wecken immer meine Skepsis... Warum will jemand der Keine Ahnung hat auf einem fremden System im Blindflug Dateien kopieren? ...Wengleich es so einfach wäre den Quell- und Zielordner im Explorer zu öffnen und die Dateien in den Zielordner zu ziehen...

naja egal...ist nicht mein System...

Die leidige Frage Verzeichnis vs. Dateiname umgehst Du indem du über ein Asterisk (*) am Ende der Pfade angibst das Ordner beliebiges enthalten können.(Dateien können keine Dateien und Ordner enthalten)

xcopy /s "Ordner\*" "%userprofile%\irgendwo\Ordner\*"

Damit brauchst du auch keine D als Antwort "pipen", was ohnehin falsch ist.

Das D bewirkt, das statt des Zielordners eine Datei erzeugt wird, und anschließen wird versucht jede Datei in diese Zieldatei zu kopieren (wodurch diese jedes mal überschrieben werden wird).

Auf Deinem Rechner funktioniert das wohl nur, wei der Ziehlordner bereits existierte und außer frage stand, das das Ziel ein Ordner ist, und somit egal war, was in der Pipe übergeben wird... kommt keine Frage, ist die Antwort 💩-egal.

Allerdings solltest Du dafür sorgen, das für den Nächsten Versuch mit meiner Zeile die fälschlich erstellte Datei entfernt wird, sonst wird gemeckert, das eine Datei mit gleichem Namen bereits besteht. (eine Datei kann man nicht mit einem Ordner überschreiben)

...zur Antwort

Dein Hauptproblem ist der Zugriff auf die Variable %linecc% innerhalb des Klammerblocks.

geht schief.cmd

(
    set "linecc=8"
    echo %linecc%
)
pause

Der Zugriff auf eine innerhalb innerhalb eines Klammerblocks gesetzte Variable ist nur mit verzögerter Expansion oder Auslagerung in ein anderes Scope möglich.

DelayedExpand.cmd

setlocal enableDelayedExpansion
(
    set "linecc=8"
    echo !linecc!
)
pause

..oder

otherScope.cmd

setlocal enableDelayedExpansion
(
    set "linecc=8"
    call :sub
)
pause
exit /b

:sub
echo %linecc%
exit /b
  • https://ss64.com/nt/syntax-brackets.html
  • https://ss64.com/nt/delayedexpansion.html

Dessen ungeachtet hat Dein for/f-Loop ein syntaktisches Problem:

...ohne Angabe von Tokens oder/und Delims wird der übergebene String/eingelesene Zeile an Leerzeichen getrennt.

falsch

for /f %%a in ("das ist  mein string") do (echo %%a)
pause

ganze Zeile übergeben:

for /f "tokens=*" %%a in ("das ist  mein string") do (echo %%a)
pause

um auf den Inhalt einer Datei (Name in "Gänsefüßchen") zuzugreifen ist der Loop-Switch "usebackq" nötig

for /f "usebackq tokens=*" %%a in ("text.txt") do (echo %%a)
pause
  • https://ss64.com/nt/for_f.html

Soviel erst mal zum Thema Batchsyntax.

Ich möchte mich auch nicht damit aufhalten die "verschwurblte" Logik Deiner Batch aufzudröseln. stattdessen zeige ich wie ich es machen würde.

finden eines Strings in einem anderen:

@echo off
  rem Umlaute möglich machen
chcp 65001 >nul
  rem ich  verwende  mal einen statischen  String (weil ich  nicht jedes mal zum testen eintippen möchte) (command ist kein "guter" VariablenName und  kann zu Verwechslungen führen)
  rem besser...
set  "__command=Alles Okay?"
for /f "usebackq tokens=*" %%a in ("text.txt") do (
      rem %%a enthält die gesamte Zeile
    echo %%a
      rem in %%a den String in der variable command suchen (mit find) und  auswerten
    echo %%a|find "%__command%" && (echo ...gefunden)||(echo ...nicht drin)
)
pause
  • https://ss64.com/nt/syntax-redirection.html
  • https://ss64.com/nt/find.html
@echo off
setlocal enableDelayedExpansion
chcp 65001 >nul
set  "__command=Alles Okay?"
  rem wir lesen den Text nur einmal pro Runde!
for /f "usebackq tokens=*" %%a in ("text.txt") do (
      rem ...dito,(/i ignoriere Groß-/Kleinschreibung) Ausgabe ins  Nirvana...
    echo %%a|find /i "%__command%" >nul && (
          rem  setze ein Flag , wenn unsere Frage  auftaucht
        set "AnswerNextLine=1"
    )||(
          rem  nachschauen ob wir die nächste Zeile ausgeben sollen 
          rem wir  sind  noch immer  innerhalb des gleichen Klammerblocks! also Variable  mit !var! auflösen...
        if "!AnswerNextLine!"=="1" (
            echo %%a
              rem wenn die Antwort gegeben wurde können wir unser Flag löschen und  den Loop verwerfen (goto  killt Batchloops)
            set "AnswerNextLine="
            goto :raus
        
        )
    )
)
:raus
pause

... etwas gruselig , weil deine Frage-Antwortdatei schon falsch konzeptioniert ist... Zudem "frisst" die verzögerte Expansion Deine Ausrufezeichen. Das zu umgehen wäre sehr holbrig.

Besser wäre es Frage und Antwort in einer Zeile unterzubringen und durch ein geeignetes Trennzeichen (Delimiter) auseinander zu halten.

Alles in Ordnung?=Ja mir geht es gut!
Alles Okay?=Ja sicher, immer!
Alles Okey?=Ja sicher, immer!
Wie gehts?=Mir geht es gut und dir?
Wie gehts denn so?=Alles super!
Wie läufts so?=Alles läuft super!
Wie läufts denn so?=Bei mir alles, und bei dir?
Wie läuft es so?=Was läuft?
Wie läufts?=Was läuft?
Hi!=Hallo!

find /i vernachlässigt nun schonmal groß und klein. (ein problem weniger) und wir brauchen und auch nur auf eine Zeile zu konzentrieren.

type "text.txt"|find /i "suchbegriff%"

das zerlegen der gefundenen Zeile:

@echo off
chcp 65001 >nul
set  "__command=Alles Okay?"
  rem jetzt  wird es trivial, wir filtern Zeilen schon beim Einlesen und  trennen die gefundene Zeile  auch  gleich am "="-Delimiter in ersten Teil und den ganzen Rest
for /f "tokens=1* delims==" %%a in ('type "text.txt"^|find /i "%__command%"') do (
    echo Token 1:%%a
    echo Rest ^(*^):%%b
)
pause

letztlich bleibt noch offen, das der Nutzer ziemlich kreativ sein kann, wenn es um die Art etwas einzugeben geht. Da einen Treffer zu landen ist nicht immer leicht.

Eine Art chatbot in Batch ist nicht wirklich Sinnvoll (bestenfalls als Fingerübung). Ansonsten birgt Batch einfach zu viele Fallstricke in Sachen Textverarbeitung um ernsthaft etwas in Deiner Richtung zu realisieren.

Die Textfähigkeiten von Batch sind ausreichend um auf standardisierte Ausgaben von Programmen zu reagiern. Für inhomogene Texte oder komplexe Eingaben von Nutzern ist Batch ungeeignet!

Angebrachter wäre es in der Datei als Frage jeweils eine RegEx zu formulieren, diese auf die Eingabe des Nutzers anzuwenden und entsprechend des Treffers zu reagieren.

In Batch wäre dergleichen zwar machbar, aber reichlich umständlich. Der Einsatz anderer Sprachen wär für einen Chatbot besser geeignet.

...zur Antwort

VBS ist eine tote Sprache. diese wird nur noch genutzt/unterstützt, weil es massenhaft alte Scripte gibt!

Desse ungeachtet kannst Du natürlich folgende Batch schreiben.

talk.cmd

@echo off
  rem schreibe  Script
echo set oVoice=createobject("sapi.spvoice") >"talk.vbs"
echo oVoice.speak("Hallo wie gehts") >>"talk.vbs"
cscript //nologo "talk.vbs"

  rem nächster  Satz
echo set oVoice=createobject("sapi.spvoice") >"talk.vbs"
echo oVoice.speak("ich bin die Stimme") >>"talk.vbs"
cscript //nologo "talk.vbs"

pause

..gruselig... und sperrig

Natürlich könnte man auch die Texte über Argumente an ein VBS übergeben, was jedoch die Orgie mit der Zeilenweisen Ausgabe nur verlagert, da dann ein gutes Dutzend Zeilen für das VBS nötig sind.

Ich schreibe keine Demo dazu... lassen wir VBS in frieden sterben.

JavaScript kann mehere Befehle in einer Zeil ausführen (Befehl;Befehl;Befehl;Befehl;). Aus der Batch muss nachwievor ein HilfsScript gespeichert werden. Allerding erledigt dies eine einzelne Zeile mit mehreren Befehlen.

Dieses HilfsScript wird auch mit cscript ausgeführt aber (wie oben angekündigt) übergeben wir das was verarbeitet werden soll als Argumente an as Script

cscript //nologo "meinJavaScript.js" Argument argument usw

Die folgende Batch demonstriert noch weitere Verbesserungen, wie das verpacken obigen cscript-Aufrufs in ein Macro und die Einstellung der Sprachgeschwindigkeit/Lautstärke, Nutzung von Umlauten in Texten beim erzeugen des JavaScripts.

talkDemo2.cmd

@echo off
  rem Umlaute erlauben
chcp 65001>nul
  rem pfad  zur Scriptdatei festlegen (Tempordner ist immer  der beste Platz)
set "sayJS=%temp%\say.js"


  rem sprachgeschwindigkeit  einstellen (Werte von -10 bis 7  sind  einigermaßen Sinnvoll)
set "Speed=-2"
  rem lautstärke (0..100) (relativ  zu den globalen  Lautstärkeeinstellungen des Systems)
set "Volume=100" 
  rem das LaberScript in den tempordner schreiben
echo s=new ActiveXObject('SAPI.SpVoice');s.Rate=%Speed%;s.Volume=%Volume%;a=' ';for (i=0;i^<WScript.Arguments.length;i++){a+=WScript.Arguments(i)+' '};s.Speak(a,0)>"%sayJS%"
  rem Aufrufmakro (es  wäre doch blöd  jedesmal die ganze Befehlszeile von Cscript zu schreiben)
  rem Achtung am Ende der folgenden  zile befindet sich ein Leerzeichen! (nicht  vergessen, dieses  ist unsichtbar!)
set talk=cscript //nologo "%sayJS%" 

  rem einfach zur Demo Text variablen festlegen
set "Text1=ich labere
set "Text2=was das Zeug herhält..."


  rem Makro aufrufen
%talk% Ich bin die Stimme
  rem ... oder
%talk% "Halöchen Herr und Meister"
  rem oder auch 
%talk% %text1% %text2%
%talk% "wollen wir spielen"
  rem  würfle eine Zahl
set /a "wurf=%random% %% 6 +1"
%talk% "ich habe eine %wurf% gewürfelt"

pause

Hier noch mal das JavaScript Zeilenweise und mit ordentlichen Variablennamen+ Kommentaren aufgelöst:

say.js (nur zur Anschauung)

  //ObjectInstanz erzeugen
SpeakObject=new ActiveXObject('SAPI.SpVoice');
  //Einstellen von Sprachgeschwindigkeit und Lautstärke
SpeakObject.Rate=-2;
SpeakObject.Volume=100;
  //globale Variable, welche alle übergebenen argumente vereint
Args='';
  //...alle Argumente durch ein Leerzeichen  getrennt  zum String Args hinzufügen
for (i=0; i<WScript.Arguments.length; i++){
    Args+=WScript.Arguments(i)+' ';
};
  //String Args aussprechen
SpeakObject.Speak(Args,0)
...zur Antwort

Als Maurermeister nimmst Du im allgemeinen nur noch selten mal die Kelle in die Hand.

Ich hatte es selbst bis zum Zimmererpolier gebracht. Nicht wirklich ein Bürojob, aber doch dazu angetan kaum noch aktiv körperlich beansprucht zu sein.

Das fand ich weit interessanter, als den lieben langen Tag fade Büroarbeit zu schieben.

Allerdings ist es schwer in Deutschland einen Meisterabschluss zu machen (die liebe Finanzierung). Wenn Du nicht gerade mit deinem Jetzigen Chef einen "Knebelvertag", eingehst, welcher Dich auf Jahre an die Firma bindet und somit verhindert, das Du ohne Ablöse/Strafzahlungen kündigst , wirst Du wohl die 25000 Oken selbst aufbringen müssen.

Über den Klüngel in den Handwerkskammern und Innungen will ich garnicht erst reden.

(ich hatte durch meine Arbeit im Ausland einen andern Weg genommen, der den alten Handwerskammer-Zauseln in Deutschland garnicht gefallen hätte)

...zur Antwort

Die Anlage um eventuell Rheuma zu entwickeln ist definitiv erblich.

Neben dem HLA-B27 gibt es auch andere genetische Konstellationen, welche die Entstehung von Rheuma begünstigen.

Im Umkehrschluss bedeutet dies jedoch auch, das Menschen mit den genetischen Voraussetzungen nicht unbedingt Rheuma bekommen.

Deine Ängste sind unbegründet. Für die Träger des HLA-B27 bedeutet dies, das die Wahrscheinlichkeit ein Rheuma zu entwickeln bei etwa 1..5% liegt. Andererseits ist dieser Immunfaktor ein Hauptgegner von Grippeviren.

Der relativ hohe Anteil von bis zu 12% an der europäischen Bevölkerung ist der Selektion durch Epidemien wie "englischem Schweiß"? im späten Mittelalter , der russischen und spanischen Grippe geschuldet. Dabei hatten Träger des HLA-B27 ein wesentlich geringeres Risiko auf einen schweren Verlauf als die übrige Bevölkerung.

Die Einwürfe bezüglich schlechter Ernährung als Ursache sind haltlos. "Ernährungsapostel" verdrehen wissenschaftliche Fakten zur Unterstreichung ihrer kruden Philosophien.

Fakt ist, das bestimmte Nahrungsmittel bei bereits Erkrankten Phasen mit schwereren Verlauf (Rheumaschübe) auslösen können.

95% der Träger der genetischen Veranlagung können sich so mies ernähren wie sie möchten, ohne jemals eine Form von Rheuma zu bekommen.

Ich bin selbst seit 10 Jahren offenkundig Rheumatiker (M.Bechterew, Fibromyalgie,Psoriasis). Bis dahin habe ich ein ganz normales Leben geführt, ohne irgendwelche Einschränkungen und immer auf der "Überholspur". Aber selbst Heute geht es mir dank moderner Medizin recht gut.

In den letzten 10 Jahren hat sich sehr viel getan um Rheuma den "Schrecken" zu nehmen . Dank sogenannter "Biologicals" bleiben schwere Verläufe in der Regel aus.

Ohne derartige Medikamente wäre ich heute steif wie Brett oder müsste mich mit den schweren Nebenwirkungen von Cortison oder MTX herumschlagen.

Mit 14 und ohne jegliche Anzeichen musst Du Dir überhaupt keine Sorgen machen . Wahrscheinlich wirst Du eher die Folgen eines Unfalls erleiden, als an Rheuma zu erkranken...

...Und selbst , wenn... ist Rheuma kein Weltuntergang. Man kann damit 100 Jahre alt werden. Es gibt wesentlich schlimmere Krankheiten... Gelegentlich kann ich nur mit dem Kopf schütteln, was junge Leute wissentlich ihren Körpern antun. (Diabetes, Fettsucht, Magersucht, Drogen, Alkohol usw.)

Lebe einfach ganz normal.

Wenn Du alles , was Du möglicherweise Deinen Genen ererbt hast, würdest , wäre Dir ein Leben in Angst sicher.

Mach Dir einfach keine Gedanken und lebe...

Gehst Du über die Straße, obwohl da Autos fahren, mit denen Du zusammenstoßen könntest?😊

...zur Antwort

Wenn ich Deine Frage recht verstehe, möchtest Du dass der Zielordner nach deinem Kopieren eine alle Veränderungen (inclusive die Löschung von Dateien/Ordnern) übernimmt.

Xcopy kann nur kopieren, jedoch nicht im Zielordner löschen .

Wenn Du weiter mit xcopy arbeiten möchtest und den Zielordner komplett erneuern gibt es eine brutale aber einfache Lösung:

  rem lösche Zielordner komplett...
rd /q /s "Zielfolder"
  rem kopier gesamte Verzeichnisstruktur 
xcopy "testfolder\*"  "Zielfolder\*" /ehqc

...die Schalter /r und /y erübrigen sich , da der alte Zielordner zuvor samt Inhalt entfernt wurde.

Erklärung zu den Schaltern : xcopy /?

Robocopy "spiegelt" (mirror) mit dem Schalter : /mir einen Ordner. Das beinhaltet die Übernahme jeglicher Veränderungen inclusive dem entfernen nicht mehr vorhandener Dateien:

robocopy "testfolder"  "Zielfolder"  /mir

Glossar:

  • https://ss64.com/nt/xcopy.html
  • https://ss64.com/nt/rd.html
  • https://ss64.com/nt/robocopy.html
...zur Antwort
Aber wenn ich verstehen würde, könnte ich weitere selber lösen.

...Ich fürchte, dies ist das Hauptproblem...🤔

Hier haben mehrere Fachleute erfolglos versucht, Dir nahezulegen, dass bereits Deine Fragestellung nicht dazu angetan ist eine befriedigende Antwort zu geben.

Dein Grundproblem besteht wohl darin, das Du nicht einmal über das nötige Basisverständnis von Informatik verfügst um eine sinnvolle Frage auf diesem Gebiet zu stellen. Allerdings hat auch niemand hier die Zeit für einen Einführungskurs in Informatik.

...zur Antwort

Wenn Du wirklich Buchstaben [a..z],[A..Z] meinst hängt es davon ab wieviel "Nichtbuchstaben" im Text enthalten sind. Jeder Zeilenvorschub in einer Windows ASCII-Datei sind schon mal 2 Zeichen CR LF, die keine Buchstaben sind...(Ja.. nichtmal angezeigt werden). Kommata ,Punkte ua Satzzeichen sind auch keine Buchstaben... usw..

Insofern kann man Deine Frage nicht beantworten ohne den Text zu kennen. (Selbst wenn man annimmt, das es sich um Pures ASCII (8 Bit-Zeichen) handelt.

Im übrigen hat die Art des ASCII keinen Einfluss auf die Dateigröße, sondern lediglich . Auf die Art der Darstellung. (Bei 7-Bit ASCII war das 8.Bit für für Besondere Darstellung (Blinkbit) vorgesehen.

Das Unicode-Problem beim Zählen hat TinaAusWien bereits ausführlich erklärt.

Vorausgesetzt Du beziehst alle 255 möglichen ASCII-Zeichen in den Begriff Buchstaben ein, hat eine 56kB große Datei 56000. Allerdings könnte sich der Wert auch auf die alte "Handhabung" 1kB=1024 beziehen, dann sind es 57344 Zeichen . (Zur Besseren Diffamierung der Einheiten verwendet man heute die Einheit KiB (KibiByte) für 1024Byte.

Schlecht wenn Problemstellung Falsch oder Unpräzise formuliert sind . Im Bereich der Informatik arbeitet man mit Formulierungen, die keine Zweifel offen lassen.

Buchstaben sind eben nur die Zeichen [a..z],[A..Z] der Text könnte ebensogut aus Ziffern oder Kommata oder/und Leerzeichen bestehen , dann wäre die Antwort 0. .

...zur Antwort

Es gibt in Batch standardmäßig keinen Befehl zur automatischen Bildverarbeitung entweder Du verwendest externe Programme und resized von Hand oder Du geduldest Dich etwas und ich bastle (wenn ich etwas Zeit übrig habe) eine von meinen "Zauberbatches"

In der Zwischenzeit kannst Du ja mal angeben welche Größe die Originalbilder haben

Größenänderungen sind immer mit Qualitätseinbusen verbunden. Beim Vergrößern muss "Information" hinzugeschwindelt werden. Beim Verkleinern entfernt man Bildpunkte und "Information"...

...zur Antwort

In unseren Breiten Dauert es in der Regel 2..3 Jahre bist eine Annanaspflanze blüht.

Deine Pflanze sieht wirklich prächtig aus und es wäre wirklich schade, bevor sie überhaupt schon "gekindelt" hat (Wurzelsenker), sie blühen zu lassen. (denn nach der Blühte stirbt die Mutterpflanze)

Es gibt einen Trick um eine Annanaspflanze zum Blühen zu bringen: Lege einen kleinen Apfel in die "Rosette". (oder so daneben, das das ausgedünstete Ethen möglichst in die Rosette sinkt)

Das vom Apfel (und anderen Früchten)l freigesetzte Ethen lässt nicht nur Bananen schneller reifen, sondern steuert und synchronisiert auch die Blühzeit diverser Pflanzen.

...zur Antwort

...ohne weitere Worte

MyCompress,ps1

  #hier Quelldateien angeben
  #Du kannst auch  meherere QuellPfade durch Komma getrennt angeben
  #zB. $QuellDateien='C:\Users\Erzesel Secure\Desktop\*.log', 'C:\Users\Erzesel Secure\Desktop\jpg\*.jpg'
$QuellDateien='C:\Users\Erzesel Secure\Desktop\*.log'
$ZielOrdner='F:\ZipSammelordner'
  #erzeuge den SammelOrdner, falls dieser  noch nicht existiert
$ZielOrdner=New-Item -Path $ZielOrdner -ItemType Directory -force
  #nakter Name des Zielarchives (ohne Pfad und Zeitstempel)
$ZielArchivName='Logs'
  #pfad der Zieldatei erzeugen und  mit Zeitstempel versehen
$ZielArchiv='{0}\{1}-{2}.zip' -f $ZielOrdner,$ZielArchivName,(Get-Date -Format "yyyyMMdd")
  #Dateien ins  Zip packen
Compress-Archive $QuellDateien -DestinationPath $ZielArchiv -update
pause

...kleiner Trick, da sich Powershellscripte nur selten ohne das "Aushebeln" von Ausführungsbestimmungen ausführen lassen, schreiben wir unser Powershellscript in eine Batchdatei, welche den Powershellcode ohne irgendwelche Umwege direkt ausführt.

(ansonsten das Gleiche wie oben.)

MyCompress.cmd

<# : Batch Abschnitt ,Batch sieht in dieser Zeile die Eingabe aus der Datei # an ein SprungLabel (also ignoriert den vermeintlichen Müll), Powershell sieht den begin eines Kommentars. 
@echo off 
  rem startet Powershell und lässt den Inhalt dieser Batch als Scriptblock ausführen 
powershell "iex(${%~f0}|out-string)"
exit /b
: Ende Batch  
:: Ab der nächsten Zeile  beginnt das eigentliche PowershellScript, da kannst Du Powershellcode einfügen wie es Dir beliebt......und damit ist der vermeintliche "Kommentar" zu ende: #>
#ab hier  Dein PowershellCode...
$QuellDateien='C:\Users\Erzesel Secure\Desktop\*.log'
$ZielOrdner='F:\ZipSammelordner'
$ZielOrdner=New-Item -Path $ZielOrdner -ItemType Directory -force
$ZielArchivName='Logs'
$ZielArchiv='{0}\{1}-{2}.zip' -f $ZielOrdner,$ZielArchivName,(Get-Date -Format "yyyyMMdd")
Compress-Archive $QuellDateien -DestinationPath $ZielArchiv -update

Glossar:

  • https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/get-date?view=powershell-5.1
  • https://ss64.com/ps/syntax-f-operator.html
  • https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.archive/compress-archive?view=powershell-5.1
  • https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/new-item?view=powershell-5.1
  • https://docs.microsoft.com/en-us/powershell/module/Microsoft.PowerShell.Utility/Invoke-Expression?view=powershell-5.1
...zur Antwort

Das Thema hatte ich unter https://www.gutefrage.net/frage/cmd-mit-batch-datei-oeffnen#answer-347428519 ausgiebig behandelt

...zur Antwort