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, 177856 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: Batch in batch in cfg schreiben
gelöst Frage von pixelBfBatch & Shell2 Kommentare

Hayy, ich bin neu hier im forum:)) Meine frage: Kann ich eine batch schreiben die was in eine batch ...

Batch & Shell
Batch - Kopierjob
Frage von Goldenone95Batch & Shell8 Kommentare

Hallo Community, leider weiß ich bezüglich einer Batch-Datei zum Kopieren und Ersetzen einer Datei in einem anderen Verzeichnis nicht ...

Batch & Shell
Batch - Variablen
gelöst Frage von Marlon1Batch & Shell2 Kommentare

Hallo, Ich habe eine Frage zu Variablen. Und zwar ob es irgendwie geht das Batch mit ein IF Befehl ...

Batch & Shell
Kopfschmerzen (Batch)
gelöst Frage von clragonBatch & Shell4 Kommentare

"" " Kann syntaktisch an dieser Stelle nicht verarbeitet werden Ich sterbe während die Flammen meiner Rage mich innerlich ...

Neue Wissensbeiträge
Datenschutz

SiSyPHuS Win10: Analyse der Telemetriekomponenten in Windows 10

Tipp von freesolo vor 9 StundenDatenschutz1 Kommentar

Alle die sich detailliert für die Datensammlung interessieren die unter Windows 10 stattfindet, sollten sich folgende Analyse des BSI ...

Sicherheit
Adminrechte dank Intel-Grafikkarte
Information von DerWoWusste vor 11 StundenSicherheit1 Kommentar

ist das Advisory, welches beschreibt, welche Intel HD Graphics Modelle Sicherheitslücken haben, mit denen sich schwache Nutzer zu Admins ...

Internet

EU Urheberrechtsreform: Eingriff in die Internetkultur

Information von Frank vor 1 TagInternet1 Kommentar

Liebe Besucherin, lieber Besucher, warum erscheint das obere Banner in allen Beiträgen? Aus Protest gegen Teile der geplanten EU-Urheberrechtsreform ...

Windows Server
Windows Backup - FilterManager Event 3
Tipp von NixVerstehen vor 2 TagenWindows Server

Hallo zusammen, ich bin kein gelernter ITler und auch beruflich nicht in dem Feld tätig. Wir setzen in unserem ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
Glasfaserkabel verlegen und Anschlüsse setzen
Frage von LLL0rdLAN, WAN, Wireless21 Kommentare

Hallo Leute, ich muss demnächst ein Netzwerkkabel auf einer Länge von ca. 70 Metern verlegen. Das Netzwerkkabel soll dabei ...

Windows Server
Mac Rechner im Windows Netzwerk - was jetzt?
gelöst Frage von Kopfg3ldWindows Server17 Kommentare

Hallo zusammen, ich habe folgende Herausforderungen. Aber erst mal was kurz zum Netzwerk - Windows Server (ältester ist ein ...

Microsoft Office
Sharepoint 2016 mag keine Umlaute in .docx-Titeln
gelöst Frage von DerWoWussteMicrosoft Office14 Kommentare

Moin Kollegen. Nutzt hier jemand Sharepoint? Könnt Ihr, unabhängig von der Sharepointversion, bitte einen Test machen? Ladet ein .docx ...

Basic
VBS soll alle Ordner auswählen, die im Startmenu angezeigt werden
Frage von Senseless-CreatureBasic12 Kommentare

Guten Morgen - gibt es eine Möglichkeit, per VBS das Startmenu in Win10 zu modifizieren? Ich beherrsche VBS mittlerweile ...