Variables and DOS windows

did you change this path to your : "/home\Viewers\lame3.97\lame.exe" ?
did you download the file "id3cp.exe" in this thread [Encode/Transcode selected WAV/MP3 files to MP3 using LAME - #3 by BenjaminW) ?[/quote]
A few comments about the commands in the button from AlbatorIV (just my thoughts and tastes pal... not meant for "criticsm"):

@set br = "-b 128" 'CBR 128 kbps
...since you're setting {$br} to a static value and then only using it once down below, it's probably a little overkill to bother setting the value as a variable... and I'm not sure what the 'CBR 128 kbps is at the end either... a "comment" perhaps? Is that part of the variable just getting ignored by lame?
CreateFolder {sourcepath}\tmp READAUTO=no
...cool
@set dest = "{sourcepath}\tmp"
...same thing here... since you're only assigning a static value
md "{$dest}"
...not sure what's going on here, didn't we already create this folder up above?
"/home\Viewers\lame3.97\lame.exe" "{$br}" "{filepath$}" "{$dest}{file$|ext=mp3}"
"/home\Viewers\lame3.97\id3cp.exe" "{filepath$}" "{$dest}{file$|ext=mp3}"
move "{$dest}*.*" "{sourcepath$}"
rd /Q "{$dest}"

To satisfy my personal cleanliness peaves, I would probably do it like this, and not as a 'batch command' type:

<?xml version="1.0"?> <button display="both" label_pos="right"> <label>Encode MP3 (128)</label> <icon1>12</icon1> <function type="normal"> <instruction>@nofilenamequoting</instruction> <instruction>CreateFolder tmp READAUTO=no</instruction> <instruction>@sync:&quot;C:\Program Files\lame\lame.exe&quot; -b 128 &quot;{f}&quot; &quot;.\tmp\{o|ext=mp3}&quot;</instruction> <instruction>@sync:&quot;C:\Program Files\lame\id3cp.exe&quot; &quot;{f}&quot; &quot;.\tmp\{o|ext=mp3}&quot;</instruction> <instruction>Copy MOVE FILE &quot;.\tmp\*&quot; TO .\</instruction> <instruction>Delete tmp</instruction> </function> </button>
This uses all Opus functions except for the lame and id3cp program calls, and shows the use of @sync to run the two external apps in series...