listigerteppich
Goto Top

Batch - Textdatei benutzerbezogen auslesen

Hallo beisammen face-smile

ich habe eine txt-Datei in der pro Zeile ein Username und dahinter ein Dateiname steht. Diese Tabelle legt quasi die User-Datei-Zuordnung fest, welche zur Laufzeit ausgelesen werden soll. Mit einer Batchdatei soll nun abhängig vom gerade angemeldeten User ausgelesen werden, welche Datei dem User (mittels der selben Batchdatei) in ein bestimmtes Verzeichnis kopiert wird. Hat hier jemand ne pfiffige Idee wie man das am besten umsetzen könnte?

Besten Dank schonmal!

Content-Key: 293472

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

Printed on: April 16, 2024 at 09:04 o'clock

Member: Biber
Biber Jan 18, 2016 updated at 20:49:49 (UTC)
Goto Top
Moin listigerTeppich,

wenn du es ein bisschen weniger abstrakt formuilerst und ein Beispiel für deiner .txt-Datei postest und ein Beispiel für " in ein bestimmtes Verzeichnis kopiert" ...
Dann bekommst du auch schnell ein paar Lösungsvarianten mit CMD-Batch oder Powershell.

Ist einfacher, du nennst Ross und Reiter als wenn sich Lösungswillige ein Szenario ausdenken.

Grüße
Biber
Member: bastla
bastla Jan 18, 2016 updated at 20:03:29 (UTC)
Goto Top
Hallo Biber face-smile - long time no see!

Vermutlich wird das "bestimmte Verzeichnis" im Profil des Users liegen ...

Falls damit beispielsweise der Desktop gemeint wäre (und Username und Dateiname durch mindestens ein Leerzeichen getrennt sind), etwa so:
for /f "tokens=1*" %%i in ('findstr /ibc:"%username% " "D:\Pfad zur Textdatei\Textdatei.txt"') do copy "%%~j" "%userprofile%\Desktop"
Grüße
bastla
Member: listigerTeppich
listigerTeppich Jan 20, 2016 at 08:21:12 (UTC)
Goto Top
Erst mal: Sorry für die späte Rückmeldung

Aber ja, Danke!
Das ist genau das wonach ich gesucht habe :D
Exzellente Arbeit ;)

Eine kleine Frage habe ich noch: Wäre das Auslesen auch aus einer .csv-Datei möglich? Wenn die Usernames in Spalte A und die Files in Spalte B stehen würden, wie könnte dann das Skript angepasst werden?

Grüße
Member: bastla
bastla Jan 20, 2016 at 19:30:36 (UTC)
Goto Top
Hallo listigerTeppich!

Wenn die CSV-Datei als Trennzeichen ein Semikolon verwendet:
for /f "tokens=1,2 delims=;" %%i in ('findstr /ibc:"%username%;" "D:\Pfad zur Textdatei\Textdatei.txt"') do copy "%%~j" "%userprofile%\Desktop"
Grüße
bastla