Page 1 of 1

How To Concatenate a String/Character

Posted: 20 Nov 2018 08:19
by warrentolentino
we have a multiple scripts (*.sql) that is spread out of multiple subfolders. i need to get all of those scripts in one script including the subfolder paths. i use this command:

Code: Select all

dir *.* /s /b /a-d > warren.sql
this works fine it will list all the files including the subfolder path and puts it in one file warren.sql.

for example:

Code: Select all

z:\warren>
11/19/2018  03:38 PM    <DIR>          .
11/19/2018  03:38 PM    <DIR>          ..
11/19/2018  11:25 AM    <DIR>          APPS

z:\warren\APPS>
z:\warren\APPS>dir
 Volume in drive z is HOME
 Volume Serial Number is 2736-G3SD

 Directory of O:\warren\APPS

11/19/2018  11:25 AM    <DIR>          .
11/20/2018  08:45 AM    <DIR>          ..
11/19/2018  11:25 AM    <DIR>          001TABLES
11/19/2018  11:25 AM    <DIR>          002VIEWS
11/19/2018  11:25 AM    <DIR>          003TRIGGERS
11/19/2018  11:25 AM    <DIR>          004PROCEDURES
               0 File(s)              0 bytes
               3 Dir(s)  5,346,648,166,400 bytes free

z:\warren\APPS>cd 001TABLE
z:\warren\APPS\001TABLE> dir/od
 Volume in drive z is HOME
 Volume Serial Number is 2736-G3SD


 Directory of z:\warren\APPS\001TABLES>

11/14/2018  02:39 PM             2,650 TAB001.sql
11/14/2018  02:39 PM               771 TAB002.sql
11/14/2018  02:39 PM               566 TAB003.sql
               9 File(s)          3,987 bytes
               2 Dir(s)  5,346,616,463,360 bytes free           

z:\warren\APPS\001TABLE>cd \warren
z:\warren>dir *.* /s /b /a-d > warren.sql
z:\warren>type warren.txt
z:\warren\APPS\001TABLES\TAB001.sql
z:\warren\APPS\001TABLES\TAB002.sql
z:\warren\APPS\001TABLES\TAB003.sql
but i need to add a semicolon ";" character at the end of the file name
for example

Code: Select all

 z:\warren\APPS\001TABLES\TAB001.sql;
 z:\warren\APPS\001TABLES\TAB002.sql;
 z:\warren\APPS\001TABLES\TAB003.sql;
how do i concatenate a string/character using a dir command? thank you

Re: How To Concatenate a String/Character

Posted: 20 Nov 2018 11:02
by aGerman

Code: Select all

(for /f "delims=" %i in ('dir *.* /s /b /a-d') do @echo %i)>"warren.sql"
Double the percent signs (%i to %%i) if you want to use it in a Batch script.

Steffen

Re: How To Concatenate a String/Character

Posted: 20 Nov 2018 11:22
by warrentolentino
thank you.

i only added the semicolon to your code and it works

Code: Select all

(for /f "delims=" %i in ('dir *.* /s /b /a-d') do @echo %I;) > "warren.sql"

Re: How To Concatenate a String/Character

Posted: 20 Nov 2018 11:27
by aGerman
Oh I forgot. But note that FOR variables are case sensitive. %i ist not the same as %I.

Steffen