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

suche sowas wie get.length um eine bestimmte zeilenlaenge einer Batch-Datei auszulesen...

Mitglied: jaque

jaque (Level 1) - Jetzt verbinden

09.10.2006, aktualisiert 14:19 Uhr, 7039 Aufrufe, 6 Kommentare

ich muss im prinzip 2 pfade die ich mittels einer schleife in eine .txt datei geschrieben habe auslesen, diese sehen z.b. so aus:

<xxx>/daten1/daten2/gemeinsamgenutz

<xxx>/daten1/daten2/

in ein verzeichnis der art soll das obere verzeichnis verschoben werden:
//<xxx>/gemeinsam/

im weiteren schritt soll ich die dateien mittels robocopy in ein verzeichnis verschieben.

Das ganze halt wegen den Rechten auf verschiedene Verzeichnisse.

Ich wollte jetzt zuerst die länge der beiden pfade vergleichen, also später sinds mehr, die beliebig aussehen können.

den längeren pfad dann nehmen und schauen in welchem unterverzeichnis der liegt und das verzeichnis dann verschieben.

Meine erste Idee war mittels aus Java oder C bekanntem length befehl, ich wollte das ganze auch möglichst machen ohne ein C-Programm, was ich zu schreiben hätte, um nur damit den befehl dann zu machen.

Wenns nach möglichkeit schon ein Programm gibt, das dies ermöglicht, würde ich das installieren.

Thx für die Hilfe jaque
Mitglied: Biber
09.10.2006 um 10:46 Uhr
Moin jaque,
willkommen im Forum.

Auch wenn es Dich vielleicht enttäuscht - so etwas wie eine Length()-Funktion gibt es nicht und auch die beiden Workarounds, die ich anbieten könnte, sind alles andere als elegant.

Strategie a) in einer FOR /L..IN..DO-Anweisung solange den Wert von SubString(%path%, x) mit "leer" vergleichen, bis Du sicher bist, dass das Ende des Strings erreicht ist. Ists albern, aber funktioniert.

Strategie b) [die verwende ich in den seltenen Fällen, in denen ich die Länge eines Variablenwertes brauche]:

Den Variablenwert mit "Echo" in eine Temp-Datei schreiben. Länge per DIR-Befehl ermitteln, 2 Zeichen für CRLF abziehen.

Beispiel im Batch:
01.
@echo off & setlocal
02.
echo %userprofile%>%temp%\getlen.tmp
03.
for %%i in ("%temp%\getlen.tmp") do set /a "theLen=%%~zi-2" & del %temp%\getlen.tmp
04.
echo Debugmsg: Length of ["%userprofile%"] is %theLen%.
Nicht gerade elegant, aber kommt ohne zusätzliches Tool o.ä. aus.

Gruß
Biber
Bitte warten ..
Mitglied: jaque
09.10.2006 um 10:59 Uhr
hmmm, also ich hab in der input datei, aus der ich die pfade bekomm immer pro aufruf sag ich mal unterschiedlich Zeilen stehen, also ich kann nicht sagen wie viele ich hab halt auch unter umständen im 3. unterordner was, was ich zuerst abarbeiten muss bevor ich die anderen daten verschieb, ich kann vorne weg nicht genau sagen, wie lange die pfade sein werden, das ganze ist unter win nt und ich wollte mit dem längsten pfad anfangen und den zuerst abarbeiten...

mein programm sieht im moment so aus, allerdings sollen vorne dran einzelne verzeichnisse zuerst verschoben werden:

set inputdat=input.dat
del sourcepath.txt

for /f "tokens=1,4 delims=;" %%a in (%inputdat%) do (
echo %%a;%%b >> sourcepath.txt
)

echo.
chcp 1252
for /f "tokens=1 delims=" %%j in (goalpath.txt) do (set goal=%%j)

chcp 850
for /f "tokens=1,2 delims=;" %%a in (sourcepath.txt) do (

robocopy /FP /TEE /LOG+:copy.log /E /ZB /COPY:DT /NFL /R:1 /W:0 %%b %goal%%%a
)

echo done

die sourcedatei sieht im prinzip so aus:
sourcepath.txt
xx.toplevel1;\\server\pfad1$\unterpfad1
xx.toplevel2;\\server\pfad1$\unterpfad2
xx.toplevel3;\\server\pfad2$\unterpfad4
xx.toplevel4;\\server\pfad1$\unterpfad3
xx.toplevel5;\\server\pfad1$
usw.
insgesamt können diese auch ziemlich lange sein
ich muss halt die unterpfade zuerst verschieben, bevor ich den pfad1$ kopieren kann....

gruss jaque
Bitte warten ..
Mitglied: Biber
09.10.2006 um 11:12 Uhr
Rückfragen:

- das erste Token (dieses "xx.toplevelN") hat keinen Einfluss auf die Verarbeitung?
- reicht denn das Kriterium "Länge"? Oder meinst Du vielmehr die Anzahl der Pfad-Ebenen unterhalb "server\pathN$"?
Denn "server\path1$\hier hat einer einen langen Verzeichnisnamen genonmen" ist zwar länger als "Server\path1\sub1\sub3\April\TonGun\FürElise", aber.....

Gruß
Biber
Bitte warten ..
Mitglied: jaque
09.10.2006 um 11:14 Uhr
das erste token ist nicht relevant, es geht einzig um allein um das 2. token...
es geht einzig um das 2. token dabei
worin der server und der pfad sich versteckt hat

ich muss anschliessend halt die pfade, die ich verschoben habe noch aus der sourcepath.txt raus löschen oder halt mit einer anderen datei dann arbeiten, aus der ich den rest dann kopier...
Bitte warten ..
Mitglied: jaque
09.10.2006 um 11:26 Uhr
Rückfragen:

- das erste Token (dieses
"xx.toplevelN") hat keinen Einfluss
auf die Verarbeitung?
- reicht denn das Kriterium
"Länge"? Oder meinst Du
vielmehr die Anzahl der Pfad-Ebenen unterhalb
"server\pathN$"?
Denn "server\path1$\hier hat einer
einen langen Verzeichnisnamen genonmen"
ist zwar länger als
"Server\path1\sub1\sub3\April\TonGun\FürElise",
aber.....

Gruß
Biber

nehmen wir mal dein beispiel ums konkreter zu machen...
angenommen Pfade sind:

Server\path1\sub1\sub3\April\TonGun\FürElise
Server\path1\sub1\sub3\April\TonGun\Alpha
Server\path1\sub1\sub3\April\TonGun\Beta
Server\path1\sub1\sub3\April\TonGun\Gamma

und

die toplevel, seien in dem Fall
xx.Für Elise
xx.april
xx.sub1
xx.sub3
dann soll ich zuerst den laengsten verschieben klar weil sonst is der ja nimmer da also der reihe nach:
Server\path1\sub1\sub3\April\TonGun\FürElise
Server\path1\sub1\sub3\April
Server\path1\sub1\sub3

und dann soll Server\path1\sub1 kopiert werden


edit: es muss halt so flexibel sein, dass es bei sich aendernden pfaden aus der input.dat trotzdem noch das script funktioniert...

gruss jaque
Bitte warten ..
Mitglied: jaque
09.10.2006 um 14:19 Uhr
hmm ich hab noch ne idee, aber dazu musst ich den inhalt von der datei neusortien, geht das so einfach mit/in batch?
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Wlan-adapter such algorithmus in batch
gelöst Frage von TicoWriteBatch & Shell7 Kommentare

Hallo zusammen, Ich möchte einen Wlan-adpater such algorithmus in batch erstellen, dazu fehlt mir aber der befehl in Dos. ...

Microsoft Office
Word bestimmt Sprache selbst
gelöst Frage von honeybeeMicrosoft Office1 Kommentar

Hallo, habe in Word 2016 ein nerviges Problem: Auf meinem Computer (Windows 10) sind zwei Sprachen installiert: Deutsch und ...

Batch & Shell
BATCH ini Datei Datei auslesen
gelöst Frage von Juergen42Batch & Shell2 Kommentare

Hallo zusammen, ich möchte eine ini Datei auslesen mit folgenden Aufbau INHALT DER INI ID=30 NAME="test1" PFAD="K:\Kontoauszug\Test1\*.pdf" PFAD_S="K:\Kontoauszug\Test1\Sicherung\" ID=28 ...

Batch & Shell
Batch Datei Ordnerüberwachung
Frage von Phant0xBatch & Shell1 Kommentar

Hallo zusammen, könntet ihr mir helfen eine Batch Datei zu schreiben, die einen bestimmten Ordner kontrolliert, ob sich Dateien ...

Neue Wissensbeiträge
Exchange Server

1und1 IONOS: Probleme beim Mailversand mit Exchange

Information von reksierp vor 5 StundenExchange Server3 Kommentare

Hallo, seit Do, 17.1.19 etwa Mittags nimmt 1und1 IONOS keine Mails mehr über den Standard-Port SMTP 25 an. Nachdem ...

LAN, WAN, Wireless

Cisco Mikrotik VPN Standort Vernetzung mit dynamischem Routing

Anleitung von aqui vor 19 StundenLAN, WAN, Wireless

1. Allgemeine Einleitung Das nachfolgende Tutorial ist eine Fortführung der hier bei Administrator.de schon bestehenden VPN Tutorials und beschreibt ...

Windows Mobile

Support für Windows Mobile endet im Dezember 2019

Information von transocean vor 2 TagenWindows Mobile

Moin, Microsoft empfiehlt als Alternative den Umstieg auf iOS oder Android, wie man hier lesen kann. Gruß Uwe

Internet

Kommentar: Bundesregierung erwägt Ausschluss von Huawei im 5G-Netz - Unsere Presse wird immer sensationsgieriger

Information von Frank vor 4 TagenInternet6 Kommentare

Hier mal wieder ein schönes Beispiel für fehlgeleiteten Journalismus und Politik zugleich. Da werden aus Gerüchten plötzlich Fakten, da ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Temporäre WLAN Verbindung für AD-Login
Frage von Christian.WidauerLAN, WAN, Wireless17 Kommentare

Hallo zusammen, ich weiß leider nicht unter welchem Begriff ich dafür suchen muss, daher habe ich bisher leider nichts ...

LAN, WAN, Wireless
Bekannte Drosselungen bei Providern ?
Frage von HenereLAN, WAN, Wireless15 Kommentare

Servus zusammen, in bereits angefangen, aber ich hoffe dass der Beitrag hier mehr Informationen bringt. Sind Portdrosselungen bzw gezielte ...

Netzwerkmanagement
Reverse Proxy für TCP und UDP Anfragen
gelöst Frage von flxklsNetzwerkmanagement14 Kommentare

Hallo zusammen, ich besitze einen Rootserver, der nur eine öffentliche IP besitzt und auf dem mehrere VMs laufen. Da ...

Windows Server
MSSQL Backup in Form von .sql einspielen
Frage von janosch12Windows Server14 Kommentare

Guten Morgen, wir verwenden das Tool SQLandFTPBackup ( ) zum sichern einiger MSSQL Datenbanken. Nun sichert das Toll die ...