I have been researching and trying without success to get the current directory name into a variable such as %CurrDirNam% for creating a text file with the same folder name something the third example below which works, however when run, it overwrites the existing file and it's contents, so I modified the bottom line to check for the file's existence. Set DirName=%cd%
For %%A in ("%dirname%") do ( Set Name=%%~nxA
)
IF NOT EXIST %Name%.txt Echo %Dirname% > %DirName%\%Name%.txt
Rem ---OOPS sorry I do not know how to re-format the code with CRLF and indents. I'm new at this...
2 Answers
If you run this
Set DirName=%cd%
Echo %Dirname% > %DirName%.txtfrom C:\Temp, it will expand to
Set DirName=C:\Temp
Echo C:\Temp > C:\Temp.txtThis will fail if you don't have write permissions on C:\ and would explain the Access Denied message you get.
If you want to create a file in C:\Temp, use something like this:
Set DirName=%cd%
Echo %Dirname% > %DirName%\test.txtIf the name of the file must match the directory name, use this trick:
Set DirName=%cd%
For %%A in ("%dirname%") do ( Set Name=%%~nxA
)
Echo %Dirname% > %DirName%\%Name%.txt 4 I tested this on my Windows 10 system and it worked with no problem.
>path.txt echo %cd%I ran this in a batch script while in the directory I wanted the path of.
In my case, I only wanted the path to create a URL from it
I found that by using >url.txt echo %cd:\=/% it also takes care of all the backslashes that needed to be forward slashes in the URL and saved me the trouble
Only step left is a little editing on the url.txt file