.txt Dateien größer 10 sollen nicht automatisch auch in den Ordner 1 kopiert werden
Guten Abend liebe administrator.de Gemeinde,
letzes Mal konntet ihr mir ja schon so gut bei meinem VBA Problem helfen und jetzt stehe ich wieder einmal auf dem Schlauch.
Ich weiß, dass man das Skript bestimmt auch hätte einfacher gestalten können, aber so tut es bisher fast was es soll.
Mein Problem bei diesem Skript ist, dass die .txt Dateien größer 10 automatisch in den Ordner Szenar11 und des Weiteren noch in die Ordner Szenar10, 11, 12, 13, 14, 15 kopiert werden.
Logischerweise haben diese ja im Ordner Szenar1 nichts verloren. :-P
Ich würde mich über Lösungsvorschläge und Denkanstöße Eurerseits freuen.
Gerne nehme ich auch Verbesserungsschläge entgegen.
Anbei habe ich euch den ganzen Code beigefügt:
Ich wünsche euch noch einen schönen Abend.
Gruß
Basti
P.S.: Mir ist leider kein besserer Titel eingefallen, ich hoffe man konnte verstehen was ich meinte und wenn nicht, dann wart ihr ja trotzdem so nett und habt mal draufgeklickt.
letzes Mal konntet ihr mir ja schon so gut bei meinem VBA Problem helfen und jetzt stehe ich wieder einmal auf dem Schlauch.
Ich weiß, dass man das Skript bestimmt auch hätte einfacher gestalten können, aber so tut es bisher fast was es soll.
Mein Problem bei diesem Skript ist, dass die .txt Dateien größer 10 automatisch in den Ordner Szenar11 und des Weiteren noch in die Ordner Szenar10, 11, 12, 13, 14, 15 kopiert werden.
Logischerweise haben diese ja im Ordner Szenar1 nichts verloren. :-P
Ich würde mich über Lösungsvorschläge und Denkanstöße Eurerseits freuen.
Gerne nehme ich auch Verbesserungsschläge entgegen.
Anbei habe ich euch den ganzen Code beigefügt:
@echo off & setlocal enabledelayedexpansion
title Sachen kopieren.
REM Name des USB-Sticks.
set stickname=test
REM Anzahl der Szenarien.
set anzszenar=15
REM Pfad vom Auslagerungsordner deklarieren.
set auslagerung=%userprofile%\Temp
REM Überprüfen ob Auslagerungsordner vorhanden ist, ansonsten erstellen.
if not exist %auslagerung% mkdir %auslagerung%
REM Anhand des USB-Sticks Namen Laufwerksbuchstaben etc. auslesen und zwischenspeichern.
wmic logicaldisk get volumename, deviceid, description | find "%stickname%" > %auslagerung%\laufwerk.txt
REM Zeile des Laufwerksbuchstaben in Variable speichern.
for /f "delims=" %%i in (%auslagerung%\Laufwerk.txt) do (
set laufwerk=%%i
)
REM Laufwerksbuchstaben Auslagerungsdatei löschen.
del /f %auslagerung%\Laufwerk.txt
REM Laufwerksbuchstaben aus Zeile herausfiltern.
set laufwerk=%laufwerk:~20,2%
REM Anhand der Anzahl der Szenarien Ordner erstellen, sofern diese noch nicht existieren.
for /l %%i in (1,1,%anzszenar%) do (
if not exist E:\Test\PC\Szenar%%i mkdir E:\Test\PC\Szenar%%i
)
REM Die .txt Dateien in die richtigen Ordner kopieren & counten, wie viele Dateien kopiert wurden.
for /l %%i in (1,1,%anzszenar%) do (
dir /b %laufwerk%\test | find "Sz%%i" > %auslagerung%\Sz%%i.txt
for /f "delims=" %%j in (%auslagerung%\Sz%%i.txt) do (
copy %laufwerk%\test\%%j E:\Test\PC\Szenar%%i\%%j >NUL && set /a counter=counter+1
)
)
)
REM Den Auslagerungsordner löschen.
rmdir /s /q %auslagerung%
REM Ausgabe, wie viele Dateien kopiert worden sind.
echo Es wurden %counter% Dateien erfolgreich kopiert.
echo Das Skript wird jetzt beendet.
REM Nach 5 Sekunden das Skript beenden.
ping -n 5 localhost >NUL
Ich wünsche euch noch einen schönen Abend.
Gruß
Basti
P.S.: Mir ist leider kein besserer Titel eingefallen, ich hoffe man konnte verstehen was ich meinte und wenn nicht, dann wart ihr ja trotzdem so nett und habt mal draufgeklickt.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 280751
Url: https://administrator.de/forum/txt-dateien-groesser-10-sollen-nicht-automatisch-auch-in-den-ordner-1-kopiert-werden-280751.html
Ausgedruckt am: 21.04.2025 um 05:04 Uhr
4 Kommentare
Neuester Kommentar
Hey,
ich hab mal etwas korrigiert. Es wird nicht tun, was du möglicherweise willst, was daran liegt, dass du deine Daten unzureichend beschrieben hast.
Gruß, Endoro
ich hab mal etwas korrigiert. Es wird nicht tun, was du möglicherweise willst, was daran liegt, dass du deine Daten unzureichend beschrieben hast.
@echo off & setlocal disabledelayedexpansion
title Sachen kopieren.
REM Name des USB-Sticks.
set "stickname=test"
REM Anzahl der Szenarien.
set /a anzszenar=15
REM LW initialisieren
set "laufwerk="
REM Pfad vom Auslagerungsordner deklarieren.
set "auslagerung=%userprofile%\Temp"
REM Überprüfen ob Auslagerungsordner vorhanden ist, ansonsten erstellen.
if not exist "%auslagerung%" mkdir "%auslagerung%"
REM Laufwerksbuchstaben in Variable speichern.
for /f "skip=1" %%a in ('wmic logicaldisk where VolumeName^="%stickname%" get DeviceID') do if not defined laufwerk set "laufwerk=%%a"
REM Die .txt Dateien in die richtigen Ordner kopieren & counten, wie viele Dateien kopiert wurden.
for /l %%i in (1,1,%anzszenar%) do (
mkdir "E:\Test\PC\Szenar%%i" 2>NUL
copy "%laufwerk%\test\Sz%%i.TXT" "E:\Test\PC\Szenar%%i\" >NUL && set /a counter+=1
)
REM Ausgabe, wie viele Dateien kopiert worden sind.
echo Es wurden %counter% Dateien erfolgreich kopiert.
echo Das Skript wird jetzt beendet.
REM Nach 5 Sekunden das Skript beenden.
ping -n 6 localhost >NUL