bergo
Goto Top

Batch schreiben um einen Ordner auszulesen, welche Dateien nicht schreibgeschützt sind, um diese an einen anderen Ort zu kopieren

Hallo Admingemeinde,

In einem Ordner (geben wir ihm den Laufwerksbuchstaben P) befinden sich Dateien, die von einem Scanner erzeugt werden. Die Endung ist ".ERG".
Es kommen täglich welche hinzu.
Auch täglich kopiere ich nun die neuesten in einen anderen Ordner (geben wir ihm den Laufwerksbuchstaben Q), wo sie vom Server verarbeitet und gelöscht werden.
Damit ich nun nicht die Dateien von gestern mitkopiere, markiere ich die Dateien in P mit dem Attribut "R" (Schreibgeschützt).
Diesen Vorgang des Kopierens möchte ich nun per BATCH automatisieren.

Als Struktogramm evtl. so:

Lese alle Dateien *.ERG ohne "R" im Ordner P
  • wenn Datei ohne "R" kopiere nach Q und setze Attribut "R" auf Datei in P
nächste Datei

Ich hoffe das Problem kann einfach gelöst werden.

Content-Key: 148929

Url: https://administrator.de/contentid/148929

Printed on: April 20, 2024 at 01:04 o'clock

Mitglied: 60730
60730 Aug 13, 2010 at 09:58:43 (UTC)
Goto Top
Moin,

ungetestet aus dem Bauch
Bitte nicht so laufen lassen - sondern in einer eigenen Dosbox und nicht mit produktivdaten im produktivsystem.
Wenn das läuft - kannst du gerne die erste Zeile ändern, aber nur dann - und wenn du was änderst - stelle sicher dass echo on ist.

@echo ON
for /f %%a in ('"dir /b /s /a-R p:\*.ERG"') do (  
                                          copy %%~fa q:\
                                          attrib %%~fa +R
)
pause

btw - statt Read only würde ich ja das Archivbit nehmen....

Gruß
Member: bergo
bergo Aug 13, 2010 at 10:08:51 (UTC)
Goto Top
Hallo,
werde es am Montag testen und berichten.
vielen Dank erstmal.
Mitglied: 60730
60730 Aug 13, 2010 at 10:12:15 (UTC)
Goto Top
Salü,
Zitat von @bergo:
Hallo,
werde es am Montag testen und berichten.
? Warum - bau dir doch deine beiden Laufwerke - notfalls mit Subst und lass es über ein paar Testdaten laufen - schadet doch nix und wer weis, wer am Montag Zeit hat?
Was du heute kannst besorgen verschiebe nie auf morgen - schon garnicht im Batch 4 Hell Bereich - wenn "morgen" Montag ist und Biber die Boomtown Rats singt face-wink

vielen Dank erstmal.

erst die Arbeit - zufriedenes Testergebnis - dann das danke....und den grünen Haken. face-wink
Member: bastla
bastla Aug 13, 2010 at 10:12:52 (UTC)
Goto Top
@t-mo
statt Read only würde ich ja das Archivbit nehmen....
... wenn's nicht bei der Sicherung ausradiert wurde ...

Grüße
bastla
Mitglied: 60730
60730 Aug 13, 2010 at 10:25:58 (UTC)
Goto Top
@bastla
Zitat von @bastla:
@t-mo
> statt Read only würde ich ja das Archivbit nehmen....
... wenn's nicht bei der Sicherung ausradiert wurde ...
ich schreib doch aus dem Bauch ungetestet...

Mir widerstrebt der Gedanke - dass sonst die Möglichkeit bestünde,
das wenn sich die Sekretärin mit Ihrem nackten Bobbes auf den Scanner setzt - ich der noch nicht ganz fertig gescannten Datei den Schreibschutz unterjubele und ich dann wieder bis zur Weihnachtsfeier warten muß face-wink

Grüße
bastla

retour
face-wink
Member: bergo
bergo Aug 16, 2010 at 07:29:27 (UTC)
Goto Top
Hallo,
Freitags immer früh Feierabend face-wink

Das Danke kam bereits, da ich nach Sichtung der Zeile mir schon vorstellen konnte, dass das die Lösung werden würde.

Also zum Test:
Super, hat funktioniert. und in einem Tempo, was man mit Drag 'n' Drop und so, nicht hinbekommt. Spitze Timo!!!!
Aber Achtung: Kopiert auch alle Unterverzeichnisse.

Vielen Dank für die Antwort und eine ruhige Woche wünsche ich.
Mitglied: 60730
60730 Aug 16, 2010 at 07:35:15 (UTC)
Goto Top
Zitat von @bergo:
Hallo,
Freitags immer früh Feierabend face-wink
du glücklicher...


Das Danke kam bereits, da ich nach Sichtung der Zeile mir schon vorstellen konnte, dass das die Lösung werden würde.

Also zum Test:
Super, hat funktioniert. und in einem Tempo, was man mit Drag 'n' Drop und so, nicht hinbekommt. Spitze Timo!!!!
Aber Achtung: Kopiert auch alle Unterverzeichnisse.

Dann nimm dem dir das /S weg - das war nur vorsorglich
for /f %%a in ('"dir /b /a-R p:\*.ERG"') do (

Vielen Dank für die Antwort und eine ruhige Woche wünsche ich.
Deine Worte in Inris Vaters Ohr face-wink

so long
Member: bastla
bastla Aug 16, 2010 at 07:37:09 (UTC)
Goto Top
Dann nimm dem dir das /S weg
... wobei es so etwas sicherer wird:
@echo ON
pushd p:\
for /f "delims=" %%a in ('dir /b /a-R *.ERG 2^>nul') do (  
    copy "%%a" q:\ >nul  
    attrib "%%a +R"  
)
popd
pause
[Edit] Noch etwas "behübscht" face-wink [/Edit]

Grüße
bastla