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, 167853 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
Windows Server
Erneutes Release von WS2019 und Win10 v1809
Tipp von IT-Pro vor 13 StundenWindows Server3 Kommentare

Hi, nachdem der Windows Server 2019 und Windows 10 in der Version 1809 aufgrund von verschwinden von Dateien nach ...

CPU, RAM, Mainboards
Spectre Update Tool für ältere PCs
Information von sabines vor 16 StundenCPU, RAM, Mainboards6 Kommentare

Mit Hilfe eines Tools wird der betreffende PC permanent von einem USB Stick gestartet, der ein passendes Microcode Update ...

Windows 10
Windows 10 Oktober 2018 Update: Es ist wieder da
Tipp von Bowsette vor 1 TagWindows 101 Kommentar

Ein neuer Versuch von Microsoft das Windows 10 Oktober 2018 Update, auch bekannt als 1809, an den Mann zu ...

Windows Server

Windows Server 2016: Achtung - ab heute gibt es wieder Express Updates

Information von kgborn vor 1 TagWindows Server1 Kommentar

Kurze Info für Administratoren, die Windows Server 2016 per WSUS/SCCM mit Updates betanken. Ab heute gibt es für Windows ...

Heiß diskutierte Inhalte
Windows Server
Windows Server 2016 Lizenzierung - 7 Hyper V VMs
Frage von staybbWindows Server18 Kommentare

Hallo zusammen, wir haben zwei HP Server gekauft mit jeweils pro Server 2 CPUs à 10 Cores. Also insgesamt ...

Batch & Shell
Ordnernamen mit String aus Ziffern-Zahlenkombination erstellen
Frage von MmarKussBatch & Shell16 Kommentare

Hallo zusammen, ich habe ein etwas komplexeres Problem, welches ich selbst mittels einer Batch-Datei lösen will / muss, da ...

Windows Server
Lohnt sich eine Domäne für uns?
Frage von BowsetteWindows Server12 Kommentare

Hallo, ich arbeite in einem kleinen Unternehmen mit mehr als 5 und weniger als 10 Mitarbeitern, also Small Business ...

Windows Server
AD Password Reminder Mail
Frage von TeutoneWindows Server10 Kommentare

Hallo liebe Leute, ich habe vor langer Zeit einmal ein Password Reminder Mail Script erstellt, welches nun nicht mehr ...