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, 6795 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 ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
"Generic" Drucker mit batch - File erstellen (6)

Frage von MrPreesident zum Thema Batch & Shell ...

Batch & Shell
Altebekanntes Batch umlaute Problem (txt editor) (2)

Frage von Ritrivia zum Thema Batch & Shell ...

Batch & Shell
gelöst Batch for f Befehl erkennt doppelte Zeichen als eines (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...