埋め込みの理屈がまたわかってないけど、
↓みたいにすれば拡張子を省けるみたいね

@if (0)==(0) echo off
if exist %0 cscript.exe //nologo /e:jscript %0 > out.txt
if exist %0.cmd cscript.exe //nologo /e:jscript %0.cmd > out.txt
if exist %0.bat cscript.exe //nologo /e:jscript %0.bat > out.txt
exit /b
@end
WScript.StdOut.WriteLine("Hello World!");