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

Batch file Problem mit dir befehl

Frage Entwicklung Batch & Shell

Mitglied: DorJo1990

DorJo1990 (Level 1) - Jetzt verbinden

11.08.2009, aktualisiert 18.10.2012, 6803 Aufrufe, 4 Kommentare

Hi @ all,
ich hab mal wieder eine Frage!

Ich wollte ein Script schreiben, welches nach einer Datei sucht und in dieser Datei dann eine Zeile verändert.
Bisher steh ich hier:
@echo off
cd %userprofile%
dir "<Dateiname>" /S /B

Nun gibt es allerdings 2 Probleme
1. Wie bekomme ich das Ergebnis von "dir" in eine Variable gespeichert, damit ich sie einem Script übergeben kann, welches die Textersetzung vornimmt?
2. Die Datei gibt es 2 mal auf dem Rechner und ich brauche beide Pfade, möglichst nacheinander um beide Dateien zu verändern!

Gibt es da irgendeine Möglichkeit das zu realisieren?

MfG

DorJo
Mitglied: bastla
11.08.2009 um 13:22 Uhr
Hallo DorJo1990!

Etwa so:
01.
@echo off & setlocal 
02.
for /f "delims=" %%i in ('dir /s /b /a-d "%userprofile%\Dateiname"') do start SCRIPT "%%i"
Grüße
bastla
Bitte warten ..
Mitglied: DorJo1990
11.08.2009 um 14:10 Uhr
Das klingt super, allerdings gibt es ein komisches Problem! Da dieses Skript auf einem Server liegt habe ich jetzt folgenden Code zusammengeschnipselt:
@echo off & setlocal  
set "Skriptpfad=\\ServerIP\Freigegebener Ordner\SCRIPT" 
set "zielpfad=%allusersprofile%\Startm~1\Programme\autostart" 
set "progtitel=Programmtitel" 
set "progexe=Programm" 
set "beschreibung=Beschreibung" 
 
cd %userprofile% 
for /f "delims=" %%i in ('dir /s /b /a-d "%userprofile%\Dateiname"') do start %Scriptpfad% "%%i" "zuersetzender String" "Ersetzungsstring" 
for /f "delims=" %%i in ('dir /s /b /a-d "%userprofile%\Dateiname"') do set "progdir=%%i" 
 
if not exist "%zielpfad%" md "%zielpfad%" 
 
echo Set objShell=WScript.CreateObject("Wscript.Shell")>%temp%\MakeShortCut.vbs 
echo Set objShortcut=objShell.CreateShortcut("%zielpfad%\%progtitel%.lnk")>>%temp%\MakeShortCut.vbs 
echo objShortcut.TargetPath="%progdir%\%progexe%">>%temp%\MakeShortCut.vbs 
echo objShortcut.Description="%beschreibung%">>%temp%\MakeShortCut.vbs 
echo objShortcut.WorkingDirectory="%progdir%">>%temp%\MakeShortCut.vbs 
echo objShortcut.Save>>%temp%\MakeShortCut.vbs 
 
cscript //nologo %temp%\MakeShortCut.vbs 
 
del %temp%\MakeShortCut.vbs 
 
pause
Allerdings kommt dann, wenn ich die .bat (welche auf dem Server liegt) ausführe folgende Meldung:
"\\Servername\Pfad"
CMD.EXE wurde mit dem oben angebenen Pfad als aktuellem Verzeichnis gestartet
UNC-Pfade werden nicht unterstützt.
Stattdessen wird das Windows-Verzeichnis als aktuelles Verzeichnis gesetzt.

Und danach stoppt er und macht gar nichts mehr
Was hat das zu bedeuten? o.O
Bitte warten ..
Mitglied: DorJo1990
11.08.2009 um 14:33 Uhr
Mein fehler... kleiner Tippfehler (Skriptpfad und Scriptpfad *rotwerd*)! DANKE für eure Hilfe!

MfG

DorJo
Bitte warten ..
Mitglied: bastla
11.08.2009, aktualisiert 18.10.2012
Hallo DorJo1990!
kleiner Tippfehler
Könnte mir natürlich nie passieren ... *beim Lügen nichtmal rotwerd*

Falls Du übrigens tatsächlich einmal mit dem UNC-Pfad-"Feature" der CMD-Shell konfrontiert sein solltest -dazu hatte Biber schon vor Jahren einen Workaround zu bieten: http://www.administrator.de/forum/ein-grosses-problem-f%c3%bcr-mich-ein ...

Grüße
bastla
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Batch für File extension überprüfung und listenerstellungmit Zeit und Datum (2)

Frage von watch123 zum Thema Batch & Shell ...

Batch & Shell
gelöst Kl. Frage: Log-File schreiben per Batch (3)

Frage von Yauhun zum Thema Batch & Shell ...

Batch & Shell
gelöst Grosses Variablen Problem ( Batch) (30)

Frage von clragon zum Thema Batch & Shell ...

Neue Wissensbeiträge
Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(8)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(6)

Anleitung von BassFishFox zum Thema Windows 10 ...

Heiß diskutierte Inhalte