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

gelöst Batch - Aktueller Ordner als Variable speichern

Mitglied: copro

copro (Level 1) - Jetzt verbinden

07.09.2005, aktualisiert 09.09.2005, 162116 Aufrufe, 10 Kommentare

Hallo zusammen

Kennt jemand eine einfach möglichkeit in einem Batch den aktuellen Ordner in dem man sich befindet in eine Variable zu speichern?

MfG
Copro
Mitglied: superboh
08.09.2005 um 06:28 Uhr
Hallo Copro,

versuch mal folgendes:

----8<---- schnipp ----8<----

cd > %temp%\tempfile.txt
set /p Verz=<%temp%\tempfile.txt
del %temp%\tempfile.txt

----8<---- schnipp ----8<----

Mag sein dass es auch ohne den Umweg über die Textdatei geht ... (hallo @Biber ?)

Gruss,
Thomas
Bitte warten ..
Mitglied: 16640
08.09.2005 um 07:40 Uhr
Du hast leider nicht geschrieben, unter welcher Betriebssystemversion. Hier ein Auszug aus der Hilfe zum SET-Befehl unter W2KPro:

Wenn die Befehlserweiterungen aktiviert sind, gibt es mehrere dynamische
Umgebungsvariablen, die zwar erweiterungsfähig sind, aber nicht in der Liste
von Variablen auftauchen, die mit SET angezeigt werden. Diese Variablenwerte
werden bei jeder Werterweiterung der Variable dynamisch berechnet. Falls eine
Variable mit einem dieser Namen definiert wird, dann überschreibt diese
Definition die unten stehende dynamische Definition:

%CD% - expandiert zum aktuellen Verzeichnisnamen.


Beispielweise funktioniert hier ein 'echo %CD%' auf der Kommandozeile problemlos.
Bitte warten ..
Mitglied: Biber
08.09.2005 um 11:33 Uhr
@superboh
Jepp, ginge natürlich:
>for /f %i in ('cd') do set verz=%i

Aber: auch für den "FOR /F" Befehl ist Win2k/WinXP nötig, und da gibt es die von dba beschriebene Umgebungsvariable %CD%.

Für universellen Einsatz (Win9x, DOS x.xx..) ist Dein Weg der allgemein verwendbare.

@copro:
Ich weiß nicht, wofür Du das Verzeichnis in einer Variablen brauchst, aber für die normal denkbaren Anwendungsfälle (aktuelles Verzeichnis merken, Verzeichnis wechseln, rumalbern, wieder ins ursprüngliche Verzeichnis zurück) gibt es jetzt die PUSHD / POPD-Mimik. Die macht vieles einfacher. Schau mal in die Hilfe.

Grüße
Frank / der Biber aus Bremen
Bitte warten ..
Mitglied: copro
08.09.2005 um 15:12 Uhr
Ich bin ein schlechter Poster sorry =)

Vorab ich benutze Win XP
Es geht mir mal wieder um mein Desktop Script...
Da es ja sein kann das Mp3 z.B. so abgelegt sind:

Ordner
Unterordner
Mp3

ich habe mir ein Batch erstellt der alle Ordner und Unterordner in eine TXT haut...
Danach wird mit FOR jede Zeile abgearbeitet und geprüft ob sich eine MP3 Datei darin befindet...
Fals eine existiert wird der ganze Ordner an einen anderen Ort kopiert....
Nun müsste ich das Verzeichniss in einer Variable haben um die Mp3 auch wieder in einen gleichnamigen Ordner kopieren zu können....

Was wichtig ist ich brauche NUR den Ordnername nicht aber den Pfad...

----------------------------------Code-----------------------------------

dir /b /s "C:\Dokumente und Einstellungen\DruGChiLD\desktop\" > c:\clrdesk\desktop_all.txt

find /v "." c:\clrdesk\desktop_all.txt > c:\clrdesk\desktop_folders.txt

for /F "tokens=*" %a in (c:\clrdesk\desktop_folders.txt) do dir /b "%a\*.mp3" & if exist "%a\*.mp3" xcopy "%a\*.*" "c:\test\VARIABLE\*.*"

----------------------------------Code-----------------------------------
Ich weiss nicht ob es für mein Prob ne einfachere Lösung gibt, wenn jemand ne Idee hat nur zu....
Bitte warten ..
Mitglied: Biber
08.09.2005 um 15:57 Uhr
@copro
*gg "DruGChiLD" ist gut...gefällt mir

ich denke schon, dass es etwas einfacher ginge (Oneliner sind ja immer einfach *sfg), aber nicht, dass Du da viel Hilfe brauchst.

Schau dir mal den "FOR /R...IN....DO"-Befehl an. Der bringt Dich da Lichtjahre voran.

So sinngemäß sollte es gehen...
FOR /R "C:\Dokumente und Einstellungen\DruGChiLD\desktop" %%a IN (*.mp3) DO xcopy /S /i Y ~pnx%%a c:\test
(total ungetestet, aber die Richtung stimmt)

Hab grade keine Zeit, kann aber gerne nochmal helfen, wenn Du -wider Erwarten- es nicht allein hinbekommst. (Die Skizze oben nicht gleich so ausprobieren, wer weiß was dann passiert!! *feix*)
Bitte warten ..
Mitglied: copro
08.09.2005 um 18:59 Uhr
Ja das ist mein eigentlicher Nick, kommt in Foren einfach nicht so gut ;)

Das For /R muss ich wohl übersehen haben ;)
Erleichtert einiges aber löst nicht mein Prob. , dass alle Mp3 auf meinem Desktop
in einen Ordner kommen...

Stell dir mal vor ich lade von rapchek.de 4 Alben runter... Bei herunterahren werden die alle in einen Ordner geschoben....

Am nächsten Tag hab ich kein Plan mehr welche MP3 zu welchem album gehört...

Und deshalb muss ich es noch irgentwie hinbekommen, dass Quellordnername = Zielordnername ist...

Danke dir auf jeden fall schon mal für deine Hilfe

MfG
Batcher
Bitte warten ..
Mitglied: Biber
08.09.2005 um 19:40 Uhr
Nö, nö, copro,

die *.mp3s sollen ja auch nicht in einen Ordner... das hab ich auch schon verstanden.

Der FOR /R - Befehl wackelt ja die gesamte Ordnerstruktur durch, "steht" also sozusagen bei jeder Ausführung der "DO was-auch-immer"-Anweisung in einem anderen Verzeichnis.

damit würde ich es so machen (als Batch)
auf den Desktop leg ich ein SUBST.... ich nenn es Laufwerk s:
@echo off & subst s: "%HOMEPATH%%HOMEDRIVE%\Desktop"
:: oder... & subst s: "%USERPROFILE%\Desktop" ..oder ...subst s: "C:\Dokumente....\Desktop"


:: ergibt bei mir
>dir /s /b s:\*.mp3
s:\eins\zwei\drei\album9.mp3
s:\eins\zwei\vier\album7.mp3
s:\eins\zwei\vier\album9.mp3
--
darauf mach ich ein:
--
>for /r s: %i in (*.mp3) do @echo xcopy /s /y /i %~i c:\MusikOrdner%~pnxi
xcopy /s /y /i S:\eins\zwei\drei\album9.mp3 c:\MusikOrdner\eins\zwei\drei\album9.mp3
xcopy /s /y /i S:\eins\zwei\vier\album7.mp3 c:\MusikOrdner\eins\zwei\vier\album7.mp3
xcopy /s /y /i S:\eins\zwei\vier\album9.mp3 c:\MusikOrdner\eins\zwei\vier\album9.mp3
---
wenn es das ist, was Du willst, lösche halt das ECHO und die kopierten *.mp3s
<font class=code>-------- snipp -- DruGChiLDsMP3CopY.bAt
@echo off & subst s: "%USERPROFILE%\Desktop"
for /r s: %%i in (*.mp3) do (xcopy /s /y /i %%~i c:\MusikOrdner%%~pnxi) && del %%~i
subst s: /d
snapp DruGChiLDsMP3CopY.bAt</font>Diese drei Batchzeilen meinte ich vorhin.

HTH
Frank / der bIbeR aus Bremen
[Edit] Tippfehlerberichtigung (s.u.) [/Edit]
Bitte warten ..
Mitglied: copro
08.09.2005 um 23:11 Uhr
Ok jetzt hab ich es verstanden =)
Besser aufzeigen konnte man es ja auch nicht...

Muss ganz ehrlich sagen mit diesen %~pnxi Syntaxen habe ich bisher noch nicht gearbeitet =)
Ich habe verstanden was der Patch macht und wie er abläuft nur wenn ich ihn übernehemen will kommt die Meldung

Die folgende Verwendung des Pfadoperators zur Ersetzung eines Batchparameters ist ungültig: %~pnxI

Wie gesagt ich peil das noch nicht ganz mit der Syntax...

Könntest du mir noch sagen was daran falsch ist?
Dann steht der Teil ja schon =)

Kann mich nur nochmals herzlich bedanken =)
Bitte warten ..
Mitglied: copro
09.09.2005 um 00:30 Uhr
@Biber Ober Hammer Thx A lot man =)

so passt das ganze:

@echo on & subst s: "C:\Dokumente und Einstellungen\DruGChiLD\desktop"
md c:\MusikOrdner\
for /r s: %%i in (*.mp3) do (xcopy /s /y /i "%%~i" "c:\MusikOrdner%%~pnxi.*")
subst s: /d
Bitte warten ..
Mitglied: Biber
09.09.2005 um 10:28 Uhr
@copro

hab ich doch gleich gesagt, dass Du das schon allein hinbekommst *gg
Trotzdem sorry für das vergessene "%" - wollte ja nur nur testen, ob Du mitdenkst *feix*
Den Tippfehler korrigiere ich oben in meinem Post (falls irgendeiner diesen Thread nicht bis zu Ende liest).

Letzte Anmerkung:
Du löschst die *.mp3's nicht nach dem Kopieren? Why not?
Dann würde ich wenigstens den xCopy erweitern um Schalter "/D", damit er nur jeweils die neuen *.mp3s kopiert und nicht jeden Tag alle.
Schönes Wochenende
Biber
P.S. Die Zeile kannst Du wieder löschen: "md c:\MusikOrdner\" oder ändern in "if not exist c:\MusikOrdner md c:\MusikOrdner\"
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Batch: Aktuelle Codepage in Variable speichern

gelöst Frage von tomaschkuBatch & Shell3 Kommentare

Hallo, Ich möchte gerne mit einem Batch Skript die aktuelle Codepage auslesen und in eine Variable speichern. Ich möchte ...

Batch & Shell

Batch aktuellsten Ordner kopieren

gelöst Frage von MmarKussBatch & Shell2 Kommentare

Hallo @ all Problembeschreibung Ich habe einen Ordner, in welchem alle Daten in ojektbezogenen Unterordnern abgespeichert sind. (D:\Data_all ) ...

Batch & Shell

Wert aus Batch Schleife in Variable speichern

gelöst Frage von anmelderBatch & Shell5 Kommentare

Ich möchte aus einem Verzeichnis alle Dateien mit einer bestimmten Endung anzeigen lassen. Die Dateien sind nummeriert. Der Nutzer ...

Batch & Shell

(BATCH:) Zeilenweise Txt auslesen und in eine Variable speichern

gelöst Frage von NincedBatch & Shell20 Kommentare

Hallo Leute, Ich weiß, es ist ein alter Hut, aber ich habe da ein paar Fragen bezüglich der for-Schleife ...

Neue Wissensbeiträge
Sicherheit

Interessante Methode für Leute, die in einer Windowsdomäne starke Kennwörter erzwingen wollen

Information von DerWoWusste vor 3 StundenSicherheit3 Kommentare

Dieser Artikel beschreibt, wie man auch ohne 3rd-party-tools die Kennwortsicherheit in Windows-Domänen erhöhen kann. Der Grundgedanke lautet: wir prüfen ...

Windows Server

SBS 2011: Installation von KB4457144 schlägt beim Reboot fehl - Von Dienst gesperrte Schriftart ursächlich

Tipp von the-buccaneer vor 14 StundenWindows Server1 Kommentar

Moinsen zusammen! Das hat mich einige graue Haare gekostet: Ein SBS 2011 weigerte sich schon im August, das monatl. ...

Windows Netzwerk
Browser-Lags und IPv6
Erfahrungsbericht von NixVerstehen vor 20 StundenWindows Netzwerk1 Kommentar

Hallo zusammen, wir betreiben als kleines Speditionsunternehmen ein überschaubares Windows-Netzwerk mit Win10-Clients sowie einem Server 2016 Essentials als "eierlegende ...

Humor (lol)

Erstaunlich, Windows mit extremer Laufzeit (Server) lol

Tipp von mathu vor 23 StundenHumor (lol)5 Kommentare

Was es so alles gibt. :-)

Heiß diskutierte Inhalte
Hyper-V
Windows Serer 2016 Standard virtualisieren
gelöst Frage von fritte87Hyper-V33 Kommentare

Hallo zusammen, ich muss für eine kleine Firma ein entsprechendes neues kleines Konzept bauen. Ich habe einen Server Standard ...

Windows Server
Fileserver von 2012 R2 auf 2012R2
gelöst Frage von ThabeusWindows Server23 Kommentare

Moin moin, leider war in der Vergangenheit der Fokus des Betriebs nicht auf Langfristigkeit ausgelegt. Daher stehe ich jetzt ...

Windows Server
Kann DNS-Einträge nicht finden
gelöst Frage von BPeterWindows Server19 Kommentare

Hallo, wenn ich folgenden Befehl absetze, bekomme ich eine Liste zurück mit allen Einträgen der DNS-Zone. Wenn ich aber ...

Router & Routing
Größere Zahl VPN-Verbindungen mit Fritz-Box einrichten
Frage von miscmikeRouter & Routing15 Kommentare

Hallo Zusammen, ich supporte verschiedene Kunden mit bestehenden LAN-LAN-Kopplungen via FritzBox (7490, FritzOS 7.01) . Anwendungen sind z.B. Kaspersky-KSC ...