Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Ordner anzeigen>Ordner auswaehlen>Dateien kopieren

Mitglied: ManneKL

ManneKL (Level 1) - Jetzt verbinden

01.03.2007, aktualisiert 05.03.2007, 6552 Aufrufe, 13 Kommentare

Orner anzeigen>Orner auswaehlen>Dateien kopieren

Hallo,
brauch wieder mal Eure Hilfe bei einer Lösungsumsetzung.
Muss täglich ca. 300 Einzeldateien mit den Windows-Explorer(Win2000/XP) manuell aus jeweils 12 Odnern in einen anderen (Zielordner) zur Weiterverarbeitung kopieren.Dabei kommt es manchmal vor , dass Dateinen mehrmals in den Zielordner kopiert werden, was fatale Folgen hat.Meine Frage, Kann man mit einen Batch den ganzen Vorgang sicherer machen?Mein Vorschlag:1.Anzeige der Ordner unter LW: T\Bestellungen\(12 Ordner,sind immer die selben:zB:Trocken,Frische,Fleisch,TKK....) im cmd-Fenster.2.Auswahl eines Unter- Ordners(zB: 20070303D2_0814_Neuaufnahme;20070302D2_0744_Wochenwerbung...mehrere.)3.Kopieren der gesamten Einzeldateien(*.txt zB:TRO04509.ZU..ca.250)aus den ausgewählten Unterordner nach LW S:\Order.4.Rückgabe einer Erfolgsmelung.

Wenn man dass nicht mit einem Batch machen kann, habt Ihr da eine andere Lösung?

Viele Grüsse
Manne
Mitglied: ManneKL
01.03.2007 um 16:09 Uhr
Hallo,
darf leider keine fremde Software auf meinen Rechner installieren, sondern nur lokal ,selbstgemachte kleine Hilfstools.danke für den Tipp.
Aber vielleicht kann mir jemand trotzdem ein kleines Skript entwickeln????
Vielen dank
Manne
Bitte warten ..
Mitglied: miniversum
01.03.2007 um 19:05 Uhr
Du meinst sowas (Halt ohne Fehlerabfrage)?
01.
@echo off
02.
setlocal enabledelayedexpansion
03.
 
04.
set dir1="D:"
05.
set dest="e:"
06.
 
07.
set nummer=1
08.
FOR /F "tokens=1 delims=" %%A in ('dir /b /AD %dir1%') do (
09.
echo !nummer!: %%A
10.
set /a nummer=!nummer!+1
11.
)
12.
set /p OrdnerNr=Bitte Ordner aussuchen (1-%nummer%): 
13.
set /a OrdnerNr=%OrdnerNr%-1
14.
set dir2=
15.
FOR /F "skip=%OrdnerNr% tokens=1 delims=" %%A in ('dir /b /AD %dir1%') do if not defined dir2 set dir2=%%A
16.
 
17.
ECHO Copy %dir1%\%dir2%\Datei.txt %dest%\
18.
 
19.
pause
miniversum
Bitte warten ..
Mitglied: ManneKL
02.03.2007 um 10:24 Uhr
Hallo miniversum,
danke für Deine Super-Hilfe, aber nach meinen Anpassungen funktioniert nicht alles.

Hier das angepasste Skript:

01.
@echo off
02.
setlocal enabledelayedexpansion
03.
 
04.
set dir1="T:\Bestellungen\"
05.
set dest="C:\order01\"
06.
 
07.
set nummer=1
08.
FOR /F "tokens=1 delims=" %%A in ('dir /b /AD %dir1%') do (
09.
echo !nummer!: %%A
10.
set /a nummer=!nummer!+1
11.
)
12.
set /p OrdnerNr=Bitte Ordner aussuchen (1-%nummer%): 
13.
set /a OrdnerNr=%OrdnerNr%-1
14.
set dir2=
15.
FOR /F "skip=%OrdnerNr% tokens=1 delims=" %%A in ('dir /b /AD %dir1%') do if not defined dir2 set dir2=%%A
16.
 
17.
ECHO Copy %dir1%\%dir2%\*.zu %dest%
18.
pause
Beim erste Stepp wenden die Orner angezeigt(1-16).
weiter mit der Auswahl...

1....bei "Bitte Orner aussuchen<1-16>:1 , bei Eingabe 1 bringt er"tokens=1 delims=""ist syntaktisch an dieser

Stelle nicht verarbeitbar.Copy "T:\Bestellungen\"\\*.zu "C:\order01\",Drücken Sie eine beliebige

Taste...(anschliessend schliesst er das Fenster,ohne etwas gemacht zu haben).
2.....bei "Bitte Orner aussuchen<1-16>:2 , bei Eingabe 2(2 ist Frische,oder weiterer Zahl),bringt er Copy

"T:\Bestellungen\"\Frische\*.zu "C:\order01\"...auch ohne Erfolg.

Was kann da noch verändert werden, damit man auch die Unterordner zB:unter Frische (Unterordner) angezeigt ,man

einen bestimmten auswählen und dessen Inhalt(*.zu-Dateien) nach order01 kopieren kann?

Danke schon mal im vorraus..
Manne
Bitte warten ..
Mitglied: Biber
02.03.2007 um 10:56 Uhr
Moin ManneKL,

probier es so weiter...

01.
@echo off
02.
setlocal enabledelayedexpansion
03.
 
04.
set "dir1=T:\Bestellungen"
05.
set dest="C:\order01\"
06.
 
07.
set nummer=1
08.
FOR /F "tokens=1 delims=" %%A in ('dir /b /s /AD %dir1%') do (
09.
echo !nummer!: %%A
10.
set /a nummer=!nummer!+1
11.
)
12.
set /a nummer=!nummer!-1
13.
 
14.
set /p OrdnerNr=Bitte Ordner aussuchen (1-%nummer%): 
15.
If %OrdnerNr% GEQ 1 set /a OrdnerNr-=1
16.
If %OrdnerNr% NEQ 0 set "ToSkip=skip=%OrdnerNr%"
17.
REM Ein "Skip=0" würde zu Fehlern führen
18.
set dir2=
19.
FOR /F "%ToSkip% delims=" %%A in ('dir /b /s /AD %dir1%') do if not defined dir2 set dir2=%%A
20.
 
21.
ECHO Copy %dir1%\%dir2%\*.zu %dest%
22.
pause
Gruss Biber
Bitte warten ..
Mitglied: miniversum
02.03.2007 um 18:54 Uhr
01.
@echo off
02.
setlocal enabledelayedexpansion
03.
 
04.
<b>set dir1="T:\Bestellungen"</b>
05.
<b>set dest="C:\order01"</b>
06.
 
07.
set nummer=1
08.
FOR /F "tokens=1 delims=" %%A in ('dir /b /AD %dir1%') do (
09.
echo !nummer!: %%A
10.
set /a nummer=!nummer!+1
11.
)
12.
set /p OrdnerNr=Bitte Ordner aussuchen (1-%nummer%): 
13.
<b>if %OrdnerNr% gtr 1 set /a OrdnerNr=%OrdnerNr%-1</b>
14.
set dir2=
15.
FOR /F "skip=%OrdnerNr% tokens=1 delims=" %%A in ('dir /b /AD %dir1%') do if not defined dir2 set dir2=%%A
16.
 
17.
ECHO Copy %dir1%\%dir2%\*.zu %dest%
18.
pause
Hier meine Änderungen an dem Code in FETT.

miniversum
Bitte warten ..
Mitglied: Biber
02.03.2007 um 19:21 Uhr
Hmmm, miniversum,

if %OrdnerNr% gtr 1 set /a OrdnerNr=%OrdnerNr%-1

...dann macht er aber auch ein "Skip=1", wenn der OrdnerNr 1 gewählt wird.

---> dann sichert er entweder den zweiten Ordner (falls vorhanden) oder greift ins Leere, falls nur eine Zeile zurückgeliefert wird.

Gruss
Biber
Bitte warten ..
Mitglied: miniversum
02.03.2007 um 19:43 Uhr
achmann so ist das wenn man schnell drauf los tipt.
Heute ist echt ncith mein Tag, erst die PCwelt mit dem supertollen Vistahack kaput und nun das noch ;)
ich meinte natürlich größer gleich 1 also
if %OrdnerNr% geq 1 set /a OrdnerNr=%OrdnerNr%-1

miniversum
Bitte warten ..
Mitglied: Biber
03.03.2007 um 12:10 Uhr
Moin miniversum,

da hatte ich mich wohl zu kurz gefasst...
Ich meinte:
if %OrdnerNr% gtr 1 set /a OrdnerNr=%OrdnerNr%-1
Wenn %OrdnerNr% vorher gleich 1 ist, ist er hinterher...? Richtig, immer noch 1.
Nur: dieser Wert 1 wird jetzt für die "Skip=.."-Klausel verwendet.
Und das ist fachlich nicht richtig. Beim Ordner1 muss ja nicht geskipt werden, aber ein "skip=0" ist syntaktisch nicht erlaubt.
Deswegen mein Rumgeeiere oben.

Ein bisschen kürzer wäre so, aber im Kern stimmte es IMHO schon.
01.
@echo off & setlocal enabledelayedexpansion
02.
 
03.
set "dir1=T:\Bestellungen"
04.
set dest="C:\order01\"
05.
 
06.
<b>set /a nummer=0</b>
07.
FOR /F "tokens=1 delims=" %%A in ('dir /b /s /AD %dir1%') do (
08.
<b>      set /a nummer=!nummer!+1</b>
09.
<b>      echo !nummer!: %%A </b>
10.
)
11.
set /p OrdnerNr=Bitte Ordner aussuchen (1-%nummer%): 
12.
If %OrdnerNr% GEQ 1 set /a OrdnerNr-=1
13.
If %OrdnerNr% NEQ 0 set "ToSkip=skip=%OrdnerNr%"
14.
REM Ein "Skip=0" würde zu Fehlern führen
15.
set dir2=
16.
FOR /F "%ToSkip% delims=" %%A in ('dir /b /s /AD %dir1%') do if not defined dir2 set dir2=%%A
17.
 
18.
ECHO Copy %dir1%\%dir2%\*.zu %dest%
19.
pause
Gruss
Biber
Bitte warten ..
Mitglied: Biber
05.03.2007 um 10:45 Uhr
Öhmmm, ManneKL,

liest Du noch mit? Bzw. passt das bei Dir?

Gruss
Biber
Bitte warten ..
Mitglied: ManneKL
05.03.2007 um 12:10 Uhr
Hallo Biber,
ja, war bis heut leider familiär verhindert und komme jetzt erst wieder zum testen.
Also, habe Dein letztes Skript angepasst, aber es funktioniert noch nicht.Zeigt leeres cmd-Fenster in den der Kuser ober blinkt.Teste es gleich weiter.
Bei der Variante von miniversum komme ich auch nur bis dahin, wo die ersten Ordner angezeigt und ich durch Ziffern einen auswählen kann.
Dein Skript:
echo off & setlocal enabledelayedexpansion

set "dir1=T:\Zuteilungen"
set dest="C:\order01\"

set /a nummer=0
FOR /F "tokens=1 delims=" %%A in ('dir /b /s /AD %dir1%') do (
set /a nummer=!nummer!+1
echo !nummer!: %%A
)
set /p OrdnerNr=Bitte Ordner aussuchen (1-%nummer%):
If %OrdnerNr% GEQ 1 set /a OrdnerNr-=1
If %OrdnerNr% NEQ 0 set "ToSkip=skip=%OrdnerNr%"
REM Ein "Skip=0" würde zu Fehlern führen
set dir2=
FOR /F "%ToSkip% delims=" %%A in ('dir /b /s /AD %dir1%') do if not defined dir2 set dir2=%%A

ECHO Copy %dir1%\%dir2%\*.zu %dest%
pause


Vielleicht kannst Du mir noch mal helfen????
Gruß
Manne
Bitte warten ..
Mitglied: Biber
05.03.2007 um 13:02 Uhr
Moin ManneKL,

ich habe es bei mir noch mal simuliert mit [nur "SET Dir1=..." geändert]:
01.
::---------------snipp ManneKL2.bat ---
02.
@echo off & setlocal EnableDelayedExpansion
03.
set "dir1=T:\Zuteilungen"
04.
set dest="C:\order01\"
05.
Set "dir1=f:\temp"
06.
set /a nummer=0
07.
FOR /F "tokens=1 delims=" %%A in ('dir /b /s /AD %dir1%') do (
08.
set /a nummer=!nummer!+1
09.
echo !nummer!: %%A 
10.
)
11.
set /p OrdnerNr=Bitte Ordner aussuchen (1-%nummer%):
12.
If %OrdnerNr% GEQ 1 set /a OrdnerNr-=1
13.
If %OrdnerNr% NEQ 0 set "ToSkip=skip=%OrdnerNr%"
14.
REM Ein "Skip=0" würde zu Fehlern führen
15.
set dir2=
16.
FOR /F "%ToSkip% delims=" %%A in ('dir /b /s /AD %dir1%') do if not defined dir2 set dir2=%%A
17.
 
18.
<b>ECHO Copy %dir2%\*.zu %dest%</b>
19.
pause
Output am CMD-Prompt:
01.
(=12:54:10  D:\temp=)
02.
>f:\temp\ManneKL2.bat
03.
1: f:\temp\smarttools
04.
2: f:\temp\dirgraph
05.
Bitte Ordner aussuchen (1-2):1
06.
Copy f:\temp\smarttools\*.zu "C:\order01\"
07.
Drücken Sie eine beliebige Taste . . .
08.
 
09.
(=12:54:19  D:\temp=)
10.
>f:\temp\ManneKL2.bat
11.
1: f:\temp\smarttools
12.
2: f:\temp\dirgraph
13.
Bitte Ordner aussuchen (1-2):2
14.
Copy f:\temp\dirgraph\*.zu "C:\order01\"
15.
Drücken Sie eine beliebige Taste . . .
.... works as designed...

[in der vorletzten Zeile habe ich noch die Variable %dir1% gestrichen... ist jetzt überflüssig.]

Aber:
In dem von dir geposteten Skript ist statt von "T:\Bestellung" jetzt von "T:\Zuteilung" die Rede...
Vielleicht ist das der falsche Pfad (keine Dateien dort)?

Gruss Biber
Bitte warten ..
Mitglied: ManneKL
05.03.2007 um 14:50 Uhr
Hallo Biber,
habe Deine Version schon mehrmals verändert und verschiedene Varianten erfolglos ausprobiert.
Richtig ist der Pfad:T:\Zuteilungen, unter dem 16 Ordner sind und unter diesen wierderum Ordner , in den die txt-Dateien sich befinden, die nach C:\order01 kopiert werden solle.
Bei Deinem letzten Skript , zeigt er die ersten Auswahl-Ordner garnicht an, sondern fragt gleich"Bitte Ordner aussuchen(1-0):.

Alle Ordner sind gefüllt und die Pfadangaben angeglichen, aber bis jetzt komme ich nicht weiter.
Kannste noch mal nachschauen?
Manne
Bitte warten ..
Mitglied: Biber
05.03.2007 um 16:02 Uhr
Hmmm, ManneKL,

ich kann jetzt weder gedanklich noch am CMD-Prompt diesen Effekt reproduzieren.

Sicher habe ich etwas übersehen, aber das wird vermutlich ein/e unbeteiligte/r Mitleser/in viel schneller entdecken als Dich (deshalb ist ja das 4-Augen-Prinzip so hilfreich).

Einzige Idee, die es etwas beschleunigen könnte:
- poste die ersten Zeilen der "Dir /s /b /Ad t:\Zuteilung"
-und/oder setze nach der Zeile "set /a nummer=0" eine Zeile mit "Echo on" rein und lass das Batchfragment laufen. Und poste diese halbe Seite Ausgabe.

[..ist ein Montach heute... *axelzuck*... und ein VollMondtach dazu...]
Gruss
Biber
Bitte warten ..
Ähnliche Inhalte
VB for Applications
VBS Datei Auswahl Dialog
gelöst Frage von 133202VB for Applications5 Kommentare

Hallo Ihr, im Thread: konnte ich schon finden, was ich gesucht habe: Jetzt möchte ich allerdings, dass am Anfang ...

Netzwerkmanagement
Auswahl Switch
Frage von JensNomaNetzwerkmanagement8 Kommentare

Ich habe einige Fragen zur Auswahl von Switchen: 1. Kann man an einen PoE Switch auch Geräte anschließen, die ...

LAN, WAN, Wireless
Powerline Adapter auswahl
Frage von Hajo2006LAN, WAN, Wireless11 Kommentare

Hallo, also ich würde gerne Powerline Adapter nutzen um so das Netzwerk zwischen 2 Räumen zu verbinden. Könnt ihr ...

Hardware
Auswahl meines Setups
gelöst Frage von gabeBUHardware15 Kommentare

Hallo Zusammen Ich bin gerade dabei, mir ein neues Setup zusammen zu stellen. Welches dieser beiden Systemen würdet ihr ...

Neue Wissensbeiträge
iOS
WatchChat für Whatsapp
Tipp von Criemo vor 1 TagiOS

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor !!!
Tipp von Criemo vor 1 TagiOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Off Topic
Avengers 4: Endgame - Erster Trailer
Information von Frank vor 3 TagenOff Topic2 Kommentare

Ich weiß es ist Off Topic, aber ich freue mich auf diesen Film und vielleicht geht es anderen hier ...

Webbrowser
Microsoft bestätigt Edge mit Chromium-Kern
Information von Frank vor 4 TagenWebbrowser5 Kommentare

Microsoft hat nun in seinem Blog bestätigt, dass die nächste Edge Version kein EdgeHTML mehr für die Darstellung benutzen ...

Heiß diskutierte Inhalte
Windows Netzwerk
Kerio. Kann keine Mails empfangen aber senden. Wer ist schuld. Kerio oder Windows domäne?
gelöst Frage von frosch2Windows Netzwerk20 Kommentare

Hallo, es existiert ein Problem bei uns mit dem mailen. Alle bestehenden Nutzer können mailen. Raus wie rein. Neuen ...

Exchange Server
Exchange Server 2010: Keine Eingehenden E-MAils
gelöst Frage von gabeBUExchange Server17 Kommentare

Hallo Zusammen Ich habe das kurzen auf dem Exchange 2010 Server das Problem, dass ich keine externen E-Mails mehr ...

Hosting & Housing
VMware VM mit über 1TB RAM für S4HANA
Frage von Leo-leHosting & Housing17 Kommentare

Hallo zusammen, wer hat Erfahrng und kann mir einen Tipp zum sizing von S4HANA Systemen geben? Wir möchten, zunächst ...

Ubuntu
Eingehängte Partition ändern
Frage von Florian961988Ubuntu14 Kommentare

Hallo wir nutzen hier GITLAB(liegt in einer VMWARE ESXI mit UBUNTU 18.04), dort hat man eine Partition für Root ...