wie kann ich eine txt datei in der cmd in einen ordner kopieren ohne den Pfad anzugeben?

6 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Habe dir mal eben eine kleine Batch hierfür geschrieben. Das eigentliche Suchen der Datei wird dabei so erledigt:

dir /s /b | findstr %searchString%

Das komplette Programm kann dann auch mit mehreren gefundenen Dateien umgehen und erledigt auch das kopieren. Die Parameter im CONFIG-Bereich kannst du je nach deinen Anforderungen anpassen.

@echo off

:: CONFIG ::
set searchDirectory="C:\User\"
set searchString="test.txt"
set outputFolder="D:\output"
:: CONFIG ::

set result="%TEMP%\search_result.txt"
cd /D %searchDirectory%
dir /s /b | findstr %searchString% > %result%

:read
set amount=0
for /f "usebackq tokens=*" %%f in (%result%) do (
    set /a amount += 1
)

if %amount% equ 0 (
    echo Datei wurde nicht gefunden.
    del %result%
    pause & exit /b 1
)
if %amount% gtr 1 (
    echo Mehrere Dateien gefunden.
    echo Druecken Sie eine beliebige Taste um alle gefundenen Dateien angezeigt zu bekommen.
    echo Loeschen Sie dann alle ungewuenschten Zeilen, sodass am Ende nur die zu kopierende Datei in der ersten Zeile steht.
    echo Dann speichern Sie ihre Auswahl mit [Strg] + [s] und schliessen das Fenster.
    pause
    notepad %result%
    goto read
)

set /p file=<%result%
del %result%
cd /D %outputFolder%
copy "%file%"
pause
trommelbasti 
Fragesteller
 27.05.2020, 18:09

vielen dank

1

Einen Pfad muss du auf jeden Fall angeben. Entweder den, wo die zu kopierenden Datei liegt oder den Ziel Pfad.

Wenn du dich also z.B. im Windows Explorer in einem der beiden Pfade befindest und dann oben in der Pfad Zeile CMD eintippst, dann befindest du dich im Fenster gleich an dieser Stelle. Nun musst du im "copy" Befehl nur noch den anderen Pfad angeben.

Woher ich das weiß:Berufserfahrung – IT Support, Studium & Hobby

Nachdem Du herausgefunden hast, in welchem Verzeichnis die zB text.txt Datei ist, kannnst Du mit dem Befehl

cd c:\
ins wurzelverzeichnis wechseln

von dort mit

cd Name1 ins nächste Unterverzeichnis

und

cd name2 ins nächste Unterverzeichnis

usw

wenn Du im richtigen Verzeichnis bist,

siehst Du die Datei mit

dir text.txt

somit kannst Du mit dem Befehl

copy text.txt c:\
die datei ins Wurzelverzeichnis kopieren

viel Erfolg,

tomkaller

ps von vielen Möglichkeiten ist

das die umständlichste, aber vieleicht auch die erfolgreichste.

ps 2

cd .. führt zum vorhergehenden Verzeichnis

und

cd c:\user direkt ins

Verzeichnis user oder

cd c:\user\basti

direkt in Dein Benutzerverzeichnis wechseln.

Woher ich das weiß:eigene Erfahrung

Ohne Angabe von Pfaden wird nur im aktuellen Verzeichnis gesucht und kopiert.

trommelbasti 
Fragesteller
 27.05.2020, 11:52

also geht das nicht?

0
Frangge  27.05.2020, 11:54
@trommelbasti

Wenn du die Datei woanders hinkopieren möchtest, nein. Eine Pfadangabe brauchst du mindestens, wenn du dich im Ausgangs- oder Zielordner befindest.

1

Das geht nicht der Computer muss ja wissen wo die Datei ist und wo sie hin muss.

trommelbasti 
Fragesteller
 27.05.2020, 11:54

gibt es dann eine Möglichkeit mit dem DIR Command die datei zu finden und zu kopieren

0
timlg07  27.05.2020, 11:59
@trommelbasti

Ja das sollte gehen. Was hat es denn mit der Datei auf sich? Wo kann Sie sich befinden? Ist sie immer in einem Ordner mit einem bestimmten Namen?

Ich werde demnächst auf jeden Fall mal ein Beispiel-Skript schreiben und als Antwort hier posten :)

0
trommelbasti 
Fragesteller
 27.05.2020, 12:04
@timlg07

cool also die Datei heißt test.txt und kann sich ab den C:\User\ überall befinden
die datein, die gefunden werden sollen alle in einen Bestimmten Ordner kopiert werden. Der befindet sich im Laufwerk D:\

1