Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
GELÖST

Pfadangabe Fehler

Frage Entwicklung Batch & Shell

Mitglied: A0D0S0

A0D0S0 (Level 1) - Jetzt verbinden

26.07.2011, aktualisiert 14:14 Uhr, 2235 Aufrufe, 9 Kommentare

Hallo,

ich habe mir ein config - File geschriben , mit dessen Hilfe ich kinderleicht meine Pfade aktualisieren kann.


Configfile:

01.
pfad_old=Y:\Video_Tool\Video\VIDEO_OLD  
02.
pfad_new=Y:\Video_Tool\Video\VIDEO_NEW  
03.
pfad_waiter=Y:\Video_Tool\Video\VIDEO_WAITER  
04.
pfad_backup=Y:\Video_Tool\Video\VIDEO_BACKUP  
05.
pfad_start=Y:\Video_Tool\Scripts\FILE_WAITER.bat  
06.
pfad_delete=Y:\Video_Tool\Scripts\delete.bat  
07.
pfad_conf=Y:\Video_Tool\Scripts\config.bat 
ich aktualisiere die Pfade in den verschiedenen Files mit:

01.
set config=Y:\Video_Tool\config.ini 
02.
 
03.
for /f "tokens=1,2 delims==" %%a in (%config%) do ( 
04.
if %%a==pfad_old set pfad_old=%%b 
05.
)

Jetzt will ich die Namen in einem Ordner ändern. Der Pfad aus dem Configfile heißt z.B. C:\Video_Tool\VIDEO_WAITER , wenn ich jetzt , wie im folgenden Code
etwas an den Pfad dranhänge , wird das Anhängsel nicht erkannt.

01.
for %%i in (%pfad_waiter%\*.*) do ( 
02.
ren %%~i %ort%%trenn%!zaehler!%%~xi 
03.
set /a zaehler = %zaehler+1 
04.
)
Also wird anstatt alle Files im Ordner WAITER nur der komplette Ordner umbenannt.


Bitte um Hilfe, Greez A0D0S0
Mitglied: bastla
26.07.2011 um 14:39 Uhr
Hallo A0D0S0!

Schwer nachvollziehbar, dass der Ordner umbenannt würde; selbst, wenn die Zeile 3 tatsächlich so aussähe, wie von Dir gepostet - richtig wäre
set /a zaehler=!zaehler!+1
oder
set /a zaehler=zaehler+1
oder noch einfacher
set /a zaehler+=1
Lass den Batch mal ohne "echo off" laufen und kontrolliere, was in der Schleife genau passiert ...

Grüße
bastla
Bitte warten ..
Mitglied: A0D0S0
26.07.2011 um 14:46 Uhr
hallo,
ich habe mir auch schon gedacht, dass das nicht passt, aber es funktioniert ,keine Ahnng warum , habe es aber jetzt trotzdem geändert ^^

,Mein Problem liet darin , dass der Teil nach der Pfadvariable nicht beachtet wird.

sprich:

for %%in (%pfad%\*.*) do () --> das \*.* wird nicht erkannt, nur dass %pfad%

durchlaufen geht nicht (mit echo off) weil es irgendwo abbricht -.-


greez A0D0S0
Bitte warten ..
Mitglied: bastla
26.07.2011 um 14:50 Uhr
Hallo A0D0S0!
durchlaufen geht nicht (mit echo off) weil es irgendwo abbricht -.-
Genau dafür ist ja das Anzeigen der Befehle gut - schau mal, welcher Befehl den Abbruch verursacht, bzw welcher davor noch richtig ausgeführt wurde ...
Übrigens: Zur Sicherheit würde ich generell Anführungszeichen verwenden, also etwa
for %%i in ("%pfad_waiter%\*.*") do (
schreiben ...

Grüße
bastla
Bitte warten ..
Mitglied: A0D0S0
26.07.2011 um 15:02 Uhr
hallo,

wenn ich " " verwende, wird der Pfad gar nicht annerkant ?

greez A0D0S0
Bitte warten ..
Mitglied: bastla
26.07.2011 um 15:12 Uhr
Hallo A0D0S0!

Jetzt kann ich Dir dann gar nicht mehr folgen ...

... zumindest nicht ohne mehr Information - poste daher bitte den kompletten Batch bzw die oben angesprochene Konsolenausgabe der Befehle!

Grüße
bastla
Bitte warten ..
Mitglied: A0D0S0
26.07.2011 um 20:56 Uhr
Der Code ( Teilstück):

01.
setlocal enabledelayedexpansion  
02.
 
03.
set trenn=_ 
04.
 
05.
set config=C:\Video_Tool\config.ini 
06.
 
07.
for /f "tokens=1,2 delims==" %%a in (%config%) do ( 
08.
if %%a==pfad_waiter set pfad_waiter=%%b 
09.
10.
set /P ort=Veranstaltungsort...? 
11.
set /P zaehler=Anfangszahl...? 
12.
set /a vzaehler=%zaehler% 
13.
 
14.
for %%i in (%pfad_waiter%\*.*) do ( 
15.
ren %%~i %ort%%trenn%!zaehler!%%~xi 
16.
set /a zaehler +=1 
17.
)
Wenn ich in der Klammer die "" setze : for %%i in ("%pfad_waiter%\*.*") , wird der Ausdruck gar nicht erkannt.

greez A0D0S0
Bitte warten ..
Mitglied: bastla
26.07.2011 um 21:19 Uhr
Hallo A0D0S0!
Wie ist
wird der Ausdruck gar nicht erkannt.
zu verstehen, was passiert im Ablauf?
Zum Aktualisieren der Variablen übrigens ein Tipp: Wenn Du einmal vorweg eine Schleife der Art
for /f "delims=" %%a in (%config%) do set "%%a"
verwendest, wären damit alle Pfade dem Inhalt der ini-Datei eintsprechend gesetzt ...

Grüße
bastla
Bitte warten ..
Mitglied: A0D0S0
26.07.2011 um 21:24 Uhr
danke, habe dass Problem gelöst indem ich im Config - File ein zusätzliches Trennzeichen hinter dem
Pfad drangehängt --> siehe da , keine Fehler mehr ^^ ( Da zwischen dem Pfad immer ein Leerzeichen war ).


Wende jetzt noch dein Tipp mit der Schleife an.

danke, Greez A0D0S0
Bitte warten ..
Mitglied: bastla
26.07.2011 um 21:33 Uhr
Hallo A0D0S0!

In der Config-Datei sollten natürlich keine "trailing blanks", also Leerzeichen am Ende der Pfade, stehen - das wäre auch bei meinem Alternivvorschlag kontraproduktiv ...

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
Apache Server
gelöst Fehler beim Import einer DB vom anderen MySQL-Server (2)

Frage von zeroblue2005 zum Thema Apache Server ...

Peripheriegeräte
gelöst USB Stick Formatieren fehler (12)

Frage von Yannosch zum Thema Peripheriegeräte ...

Heiß diskutierte Inhalte
DSL, VDSL
gelöst DSL 200m verlängern (15)

Frage von Angela44 zum Thema DSL, VDSL ...

LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...

Windows Server
SBS 2011 Standard virtualisieren (11)

Frage von HeinrichM zum Thema Windows Server ...

Exchange Server
gelöst DHCP Sever MS Server 2012 Problem (10)

Frage von Florian86 zum Thema Exchange Server ...