So fragen Sie den aktuellen Verzeichnisnamen in einer Variablen für Batchdateien ab

So fragen Sie den aktuellen Verzeichnisnamen in einer Variablen für Batchdateien ab

Ich habe recherchiert und erfolglos versucht, den aktuellen Verzeichnisnamen in eine Variable zu bekommen, um beispielsweise %CurrDirNam%eine Textdatei mit demselben Ordnernamen zu erstellen. Das dritte Beispiel unten funktioniert, überschreibt jedoch beim Ausführen die vorhandene Datei und ihren Inhalt. Daher habe ich die unterste Zeile geändert, um die Existenz der Datei zu prüfen. Set DirName=%cd% For %%A in ("%dirname%") do ( Set Name=%%~nxA ) IF NOT EXIST %Name%.txt Echo %Dirname% > %DirName%\%Name%.txt Rem ---OOPS, entschuldige, ich weiß nicht, wie ich den Code mit CRLF und Einrückungen neu formatieren kann. Ich bin neu hier ...

Antwort1

Wenn Sie dies ausführen

Set DirName=%cd% 
Echo %Dirname% > %DirName%.txt

ausC:\Tempwird es erweitert auf

Set DirName=C:\Temp 
Echo C:\Temp > C:\Temp.txt

Dies schlägt fehl, wenn Sie keine Schreibberechtigung für C:\ haben und erklärt dasZugriff abgelehntNachricht, die Sie erhalten.

Wenn Sie eine Datei im Verzeichnis C:\Temp erstellen möchten, verwenden Sie Folgendes:

Set DirName=%cd% 
Echo %Dirname% > %DirName%\test.txt

Wenn der Name der Datei mit dem Verzeichnisnamen übereinstimmen muss, verwenden Sie diesen Trick:

Set DirName=%cd%
For %%A in ("%dirname%") do (
    Set Name=%%~nxA
)
Echo %Dirname% > %DirName%\%Name%.txt

Antwort2

Ich habe dies auf meinem Windows 10-System getestet und es hat problemlos funktioniert.

>path.txt echo %cd%

Ich habe dies in einem Batch-Skript ausgeführt, während ich mich in dem Verzeichnis befand, dessen Pfad ich haben wollte. In meinem Fall wollte ich nur den Pfad, um daraus eine URL zu erstellen. Ich habe festgestellt, dass durch die Verwendung >url.txt echo %cd:\=/%auch alle Backslashs berücksichtigt werden, die in der URL Schrägstriche sein mussten, und mir so die Mühe erspart blieb.

Der einzige verbleibende Schritt ist eine kleine Bearbeitung der url.txt-Datei

verwandte Informationen