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

BATCH für Dateipfad mit Separator

Mitglied: PeterS71

PeterS71 (Level 1) - Jetzt verbinden

12.01.2010, aktualisiert 14.01.2010, 3625 Aufrufe, 5 Kommentare

Hallo,

ich leider keine Erfahrung in der Batch - Programierung, benötige aber ein kleines Batch.

Ich benötige eine Batch - Datei mit der ich Dateipfade nicht unterereinander sodern hintereinander in eine Textdatei geschrieben werden.
Als Separator zwischen den Pfaden muss ein I stehen.

Mit einer einfachen Anweisung wie DIR /a /s >test.txt komme ich nich weiter.

Danke
Peter
Mitglied: TsukiSan
12.01.2010 um 13:22 Uhr
mit
01.
echo was auch immer >test.txt
hast du recht. da wird dir die ganze "test.txt"-datei ständig überschrieben.

um wieviele Dateipfade pro Zeile handelt es sich schließlich? Und muss es Batch sein?

Gruß
Tsuki
Bitte warten ..
Mitglied: PeterS71
12.01.2010 um 13:36 Uhr
Hallo,

danke für die schnelle Antwort.
Es werden sicher nicht mehr als 50 Dateipfade.
Ein Überschreiben der ausgangsdatei ist Okay.
Ich will die TXT datei in eine andere Batch einbinden,
ich benötige diese als Inpunt für eine weitere Software und diese wir über eine Batch gesteuert.
Es ist also günstig wenn die txt auch über eine Batch-Datei erzeut wird, so kann ich mehere ineinander "schachteln".

Gruß
Peter
Bitte warten ..
Mitglied: Biber
12.01.2010 um 14:06 Uhr
Moin PeterS71,

wenn ich dich richtig verstehe, dann holst du diese Ordnerliste mit dem DIR-Befehl nach der Mimik "alles unterhalb eines Startordners"?

eine mögliche Entsprechung im Batch wäre eine FOR /F-Anweisung auf genau dieses "DIR /s /a:d startverzeichnis";
eine Alternative eine wäre eine FOR /R /D-Anweisung.

Skizze (ungetestet)
01.
@echo off & setlocal 
02.
 
03.
FOR /R "x:\startdir" /D %%i in (*) do Call :AddThis "%%i;" 
04.
REM wenn das FOR-gelumpe fertig ist, dann sieht %thelongLine% so aus: 
05.
REM thelongLine=x:\startdir\pfad1;x:\startdir\pfad1\subpathX;...... 
06.
REM und da will ich alle Semikolon durch das pipe-Symbol ersetzen 
07.
set "thelongline=%thelongline:;=^|%" 
08.
REM mit Caret maskiert nur, weil ich gleich ECHOen will - wäre sonst nicht nötig. 
09.
echo %thelongline%>neueTextdatei.txt 
10.
 
11.
:: Ende des Haupt-Batches 
12.
goto :eof 
13.
~~~~~~ 
14.
:AddThis Parameter1 ist ein Lw/Pfad in Anführungszeichen 
15.
Set theLongline=%theLongline%%~1 
16.
goto :eof
Grüße
Biber
Bitte warten ..
Mitglied: PeterS71
14.01.2010 um 08:29 Uhr
Moin Biber

dein Batch geht gut zum erzeugen einer Textdatei. Ich habe nun versucht die Variabele %thelongLine% in meinem Batch zu nutzen. Ich mach aber eine Fehler. Siehst du diesen.
Der Inhalt der Variablen "%Gemarkung% und %Flurstueck% (hier stehen die Dateipfade drin) soll -input zugewiesen werden.

01.
@ECHO OFF  
02.
 
03.
FOR /R "U:\_Daten\PSW\Lageplaene\Projekte\wb_bleiloch\ALK\alk_2009" /D %%i in (*) do Call :AddThis "%%i;" 
04.
REM wenn das FOR-gelumpe fertig ist, dann sieht %Gemarkung% so aus: 
05.
REM thelongLine=x:\startdir\pfad1;x:\startdir\pfad1\subpathX;...... 
06.
REM und da will ich alle Semikolon durch das pipe-Symbol ersetzen 
07.
set "Gemarkung=%Gemarkung:;=^\ALK_1*.shp;%" 
08.
set "Gemarkung=%Gemarkung:;=^|%" 
09.
REM mit Caret maskiert nur, weil ich gleich ECHOen will - wäre sonst nicht nötig. 
10.
 
11.
 
12.
:: Ende des Haupt-batches 
13.
goto :eof 
14.
~~~~~~ 
15.
:AddThis Parameter1 ist ein Lw/Pfad in Anführungszeichen 
16.
Set Gemarkung=%Gemarkung%%~1 
17.
goto :eof 
18.
 
19.
 
20.
 
21.
FOR /R "U:\_Daten\PSW\Lageplaene\Projekte\wb_bleiloch\ALK\alk_2009" /D %%i in (*) do Call :AddThis "%%i;" 
22.
REM wenn das FOR-gelumpe fertig ist, dann sieht %Flurstuecke% so aus: 
23.
REM thelongLine=x:\startdir\pfad1;x:\startdir\pfad1\subpathX;...... 
24.
REM und da will ich alle Semikolon durch das pipe-Symbol ersetzen 
25.
set "Flurstuecke=%Flurstuecke:;=^\ALK_2*.shp;%" 
26.
set "Flurstuecke=%Flurstuecke:;=^|%" 
27.
REM mit Caret maskiert nur, weil ich gleich ECHOen will - wäre sonst nicht nötig. 
28.
echo %thelongline%>verzeichnisse_alk.txt 
29.
 
30.
:: Ende des Haupt-batches 
31.
goto :eof 
32.
~~~~~~ 
33.
:AddThis Parameter1 ist ein Lw/Pfad in Anführungszeichen 
34.
Set Flurstuecke=%Flurstuecke%%~1 
35.
goto :eof 
36.
 
37.
 
38.
 
39.
REM Batch file training Bentley Geo Web Publisher 
40.
 
41.
ECHO -------------------------------------------------------------------------  
42.
ECHO Convert Whistler DGN files to IDPR files:12.07.2007 
43.
ECHO -------------------------------------------------------------------------  
44.
 
45.
 
46.
REM ------------------------------------------------------------------------- 
47.
REM Set up variables 
48.
REM -------------------------------------------------------------------------  
49.
SET GWPINSTALLPATH=C:\BentleyGWP\GeoWebPublisher\ 
50.
SET OUTPUTPATH=Z:\Stausee_Blei\Vektor\iDPR\Stausee_Blei 
51.
SET PROJECTPATHS=U:\_Daten\PSW\Lageplaene\Einstellungen\Workspace\Seed\MicroStation\Lageplan.dgn 
52.
REM -------------------------------------------------------------------------  
53.
 
54.
 
55.
 
56.
ECHO #-------------------------------------------------------------------------  
57.
ECHO # 1. Create Gemarkung.idpr 
58.
%GWPINSTALLPATH%iDPRcnv.exe -type=DGN -input="%Gemarkung%" -seed="%PROJECTPATHS%" -output="%OUTPUTPATH%-Gemarkung.idpr" -level=Lika_Gemark,Text_Lika_Gemark -trace >Gemarkung.txt -wu=untitled 
59.
ECHO # 3. Create Flurstuecke.idpr 
60.
%GWPINSTALLPATH%iDPRcnv.exe -type=DGN -input="%Flurstuecke%" -seed="%PROJECTPATHS%" -output="%OUTPUTPATH%-Flurstuecke.idpr" -level=Lika,Text_Lika,Lika_Grenzzeichen,Lika_Flur,Lika_Gemark -trace >Flurstuecke.txt -wu=untitled 
61.
 
62.
pause
Bitte warten ..
Mitglied: Biber
14.01.2010 um 10:35 Uhr
Moin PeterS71,

ich habe deinen Codeschnipsel mal in Codetags gesetzt, damit ich wenigstens die gemeinte Zeilennummer angeben kann.

Was ich mit bloßem Auge sehe ist:
  • Ergänze in Zeile 1 nach "@echo off" noch ein " & setlocal" [alle im Batch verwendeten Variablen werden NUR dort verwendet]
  • Zeile 28 benutzt die falsche Variable %theLongline%
  • es existiert 2x ein "Call-Block" AddThis... 1x ab Zeile 15 (der wird benutzt) ; 1x ab Zeile 33 (der wird nie benutzt)
  • alles, was nun tatsächlich zum Hauptablauf des Batches gehört (z.B. die zweite FOR-Anweisung "Flurstücke" sollte natürlich auch vor die jetzige Zeile 12 "Ende des Hauptbatches"

Bitte versuche es mit diesen Tipps (erstmal) allein, ein paar Klemmer rauszunehmen.
Den verbleibenden Rest machen wir dann gerne gemeinsam.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Dateipfad bei Batch einstellen das es Öffentlich ist

gelöst Frage von Dreamkiller112Batch & Shell3 Kommentare

Hey, Ich habe die Frage das ich eine Batchdatei schreiben möchte aber diese Datei veröffenlichen möchte und es soll ...

Batch & Shell

Batch Probleme mit Dateipfaden in for-Schleife

gelöst Frage von Jonas1806Batch & Shell1 Kommentar

Hallo zusammen, Ich habe es mir vor einigen Wochen zum Ziel gesetzt, einen Chat für die Schule zu programmieren. ...

Batch & Shell

Dateipfad abgreifen

Frage von Julian2222Batch & Shell4 Kommentare

Hallo, wenn man ja eine Datei öffnet, wird ja der Pfad der Datei dem Standardprogramm welches in Windows hinterlegt ...

Batch & Shell

Dateipfad ausgeben

gelöst Frage von tegwertBatch & Shell2 Kommentare

Hallo zusammen! Ich nutze folgende Zeile zur Ermittlung der Dateipfade einer bestimmten mehrfach vorkommenden Datei: for %%a in (F ...

Neue Wissensbeiträge
Humor (lol)
IoT-Gefahr: Smartes Aquarium leckt!
Information von Lochkartenstanzer vor 19 StundenHumor (lol)3 Kommentare

Moin, Die IoT-Manie hat weitere Opfer gefunden. Ein Casino-Leck durch ein smartes Aquarium: Allerdings haben sie kein Wasser, sondern ...

Router & Routing

Alte Fritzbox 7270 mit VPN und SIP-Telefonie hinter O2 Homebox 6641 als "Modem"

Erfahrungsbericht von the-buccaneer vor 1 TagRouter & Routing3 Kommentare

Nun war es soweit: Auch O2 hat mich mit VOIP zwangsbeglückt. Heute am Privatanschluss, in 2 Wochen ist das ...

Sicherheit

Ungepatchte Remote Code Execution-Lücke in LG NAS

Information von kgborn vor 1 TagSicherheit

Nutzt wer LG NAS-Einheiten? In den NAS-Einheiten der LG Network Storage-Einheiten gibt es eine sehr unschöne Schwachstelle, die einen ...

Windows Update

Neue Version KB4099950 NIC Einstellungen gehen verloren

Information von sabines vor 1 TagWindows Update2 Kommentare

Es ist eine neue Version des KB4099950 verfügbar, die das Problem mit den verlorenen Netzwerkeinstellungen lösen soll. Das Datum ...

Heiß diskutierte Inhalte
Sicherheit
Verbindliche Zustellung per E-Mail?
Frage von ahussainSicherheit18 Kommentare

Hallo allerseits, ein Kunde von mir nutzt intensiv Fax. Hauptgrund: zusammen mit einer Empfangsbestätigung ist eine verbindliche Zustellung gewährleistet. ...

Sonstige Systeme
Wie Normenkataloge im Unternehmen bereit stellen?
Frage von MuzzepuckelSonstige Systeme14 Kommentare

Hallo Kollegen, ich lese schon lange hier mit, nun mein ersrer Beitrag, bzw. Frage. :-) Wir benötigen für unsere ...

Linux Netzwerk
Raspberry Pi 3: WLAN Power save deaktivieren
Frage von nordie92Linux Netzwerk13 Kommentare

Moin moin, mein Raspberry Pi 3 Model B benötigt eine dauerhaft aktive WLAN-Verbindung. Leider bricht die WLAN-Verbindung nach einigen ...

SAN, NAS, DAS
Entscheidung SAN Dell oder HP
Frage von VincorSAN, NAS, DAS13 Kommentare

Hallo, wir wollen uns für unsere Hyper V Umgebung eine neue SAN Anschaffen. Es laufen 30 VM's darunter, DC; ...