title: Concatenate / Join MP4 files using ffmpeg and windows command line batch NOT LINUX
body: <p>I've written a batch script that attempts to take a generic introductory title video (MP4) that runs for 12 seconds and attaches it to the beginning of 4 other MP4 videos (same video but each has a different language audio track)</p>
  
  <p>According to ffmpeg syntax here: <a href="http://ffmpeg.org/trac/ffmpeg/wiki/How%20to%20concatenate%20%28join,%20merge%29%20media%20files" rel="nofollow">http://ffmpeg.org/trac/ffmpeg/wiki/How%20to%20concatenate%20%28join,%20merge%29%20media%20files</a> the concat demuxer needs to be run from a text file that looks like this:</p>
  
  <pre><code># this is a comment
  file '/path/to/file1'
  file '/path/to/file2'
  file '/path/to/file3'
  </code></pre>
  
  <p>I believe everything in my script up until the point of joining the files appears to be working correctly. But I get this error:</p>
  
  <pre><code>[concat @ 04177d00] Line 2: unknown keyword ''C:\Users\Joe\1May\session3\readyforfinalconversion\frenchfile.mp4'
  filelistFrench.txt: Invalid data found when processing input
  [concat @ 03b70a80] Line 2: unknown keyword ''C:\Users\Joe\1May\session3\readyforfinalconversion\spanishfile.mp4'
  filelistSpanish.txt: Invalid data found when processing input
  [concat @ 0211b960] Line 2: unknown keyword ''C:\Users\Joe\1May\session3\readyforfinalconversion\basquefile.mp4'
  filelistBasque.txt: Invalid data found when processing input
  [concat @ 03a20a80] Line 2: unknown keyword ''C:\Users\Joe\1May\session3\readyforfinalconversion\Englishfile.mp4'
  filelistEnglish.txt: Invalid data found when processing input
  </code></pre>
  
  <p>I believe the issue lies in the text file I'm creating.  Please excuse my n00b ignorance, but sometimes new script makers like myself get confused about developer jargon and may take things literally.</p>
  
  <p>So when I look at that example text file they gave, am I correct in thinking THIS is what my text file should look like?</p>
  
  <pre><code># this is a comment
  Titlefile.mp4 'C:\Users\Joe\1May\session3\readyforfinalconversion\Titlefile.mp4'
  Englishfile.mp4 'C:\Users\Joe\1May\session3\readyforfinalconversion\Englishfile.mp4'
  </code></pre>
  
  <p>Again, am I being too literal? are the quotations correct? Are the slashes correct? In the example they provide the slashes in the path are / instead of normal windows \ . I'll provide the entire script in case it helps.</p>
  
  <pre><code>@echo off
  
  setlocal EnableDelayedExpansion
  
  rem Create an array of languages
  set i=0
  for %%a in (French Spanish Basque English) do (
     set /A i+=1
     set term[!i!]=%%a
  )
  
  rem Get the title video file name from user
  
  set /p titlevideofilename=What is the title video file 
  
  name?
  
  rem create a path variable for the title video file
  
  set pathtotitlevideo=%~dp0%titlevideofilename%
  
  rem Get the names of the different language video files to append to the title video
  rem create a path variable for each different language video files
  
  for /L %%i in (1,1,4) do (
     set /p language[%%i]=what is the name of the !term
  
  [%%i]! file you want to append after the title video?
     set pathtofile[%%i]=%~dp0!language[%%i]!
  )
  
  rem create data file for ffmpeg based on variable data
  
  for /L %%i in (1,1,4) do (
      echo # this is a comment&gt;&gt;filelist!term[%
  
  %i]!.txt
      echo file '%pathtotitlevideo%'&gt;&gt;filelist!term[%
  
  %i]!.txt
      echo file '!pathtofile[%%i]!'&gt;&gt;filelist!term[%
  
  %i]!.txt
  )
  
  cls
  
  rem join files using ffmpeg concat option
  
  for /L %%i in (1,1,4) do (
     c:\ffmpeg\ffmpeg\bin\ffmpeg.exe -loglevel error -f 
  
  concat -i filelist!term[%%i]!.txt -c copy !language[%
  
  %i]!.!term[%%i]!.withtitle.mp4
  )
  
  endlocal
  
  :eof
  exit
  </code></pre>
  
  <p><strong>EDIT</strong><br>
  Thanks to @foxidrive making me look at the simplicity of it... it occurred to me that Apparently I wasn't being literal enough. I made these 3 changes and script works perfectly now
  1: "file" in there example literally meant the word "file" 
  2: needed the use of single quotes not double quotes as it shows in there example. 
  3: Used "\" instead of "/" as they have in there example.</p>
  
  <p>So NOW my code to create the text files looks like this:</p>
  
  <pre><code>rem create data file for ffmpeg based on variable data
  
  for /L %%i in (1,1,4) do (
      echo # this is a comment&gt;&gt;filelist!term[%
  
  %i]!.txt
      echo file '%pathtotitlevideo%'&gt;&gt;filelist!term[%
  
  %i]!.txt
      echo file '!pathtofile[%%i]!'&gt;&gt;filelist!term[%
  
  %i]!.txt
  )
  </code></pre>
  
  <p>So NOW my text file looks like this:</p>
  
  <pre><code># this is a comment    
  file 'C:\Users\Joe\1May\session3\readyforfinalconversion\Titlefile.mp4'
  file 'C:\Users\Joe\1May\session3\readyforfinalconversion\Englishfile.mp4'
  </code></pre>