wie kann ich eine txt datei in der cmd in einen ordner kopieren ohne den Pfad anzugeben?
Wie kann ich eine .txt datei nur mit dem Namen in einen Ordner über die CMD kopieren, aber ohne das ich den pfad der Datei eingebe?
6 Antworten
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
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.
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.
Ohne Angabe von Pfaden wird nur im aktuellen Verzeichnis gesucht und kopiert.
Wenn du die Datei woanders hinkopieren möchtest, nein. Eine Pfadangabe brauchst du mindestens, wenn du dich im Ausgangs- oder Zielordner befindest.
Das geht nicht der Computer muss ja wissen wo die Datei ist und wo sie hin muss.
gibt es dann eine Möglichkeit mit dem DIR Command die datei zu finden und zu kopieren
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 :)
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:\
also geht das nicht?