I want to split the string (having a path) with \
and take last folder name in a variable. Please help.
e.g
mypath=D:\FOLDER1\FOLDER2\FOLDER3\
I want FOLDER3 in a variable.
I tried with the command below which is working if the the last character is not \
:
for %f in (C:\FOLDER1\FOLDER2\FOLDER3) do set myfolder=%~nxf
It is not working if the last character is \
Also it is not working if variable is used like : for %f in (%mypath%) do set myfolder=%~nxf
batch-file Echo @Echo off @echo off prevents the prompt and contents of the batch file from being displayed, so that only the output is visible. The @ makes the output of the echo off command hidden as well.
Use double percent signs ( %% ) to carry out the for command within a batch file. Variables are case sensitive, and they must be represented with an alphabetical value such as %a, %b, or %c. ( <set> ) Required. Specifies one or more files, directories, or text strings, or a range of values on which to run the command.
%%parameter : A replaceable parameter: in a batch file use %%G (on the command line %G) FOR /F processing of a command consists of reading the output from the command one line at a time and then breaking the line up into individual items of data or 'tokens'.
When used in a command line, script, or batch file, %1 is used to represent a variable or matched string. For example, in a Microsoft batch file, %1 can print what is entered after the batch file name.
@echo off set MYDIR=C:\FOLDER1\FOLDER2\FOLDER3\ set MYDIR1=%MYDIR:~0,-1% for %%f in (%MYDIR1%) do set myfolder=%%~nxf echo %myfolder%
outputs
FOLDER3
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With