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, 2232 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
Windows 10

Powershell 5 BSOD

(2)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Server
gelöst BackupExec 2016 Fehler beim Backup von Windows 2016 (1)

Frage von Looser27 zum Thema Windows Server ...

Switche und Hubs
gelöst Trunk für 2xCisco Switch. Wo liegt der Fehler? (43)

Frage von JayyyH zum Thema Switche und Hubs ...

Vmware
Veeam für VM Ware Backup Fehler (2)

Frage von JoergN1968 zum Thema Vmware ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...