Thanks @sethvargo for the tip about using "&&". Combining that with the line-continuation character "^" for readability did the trick.
I modified the batch file as follows, and it works!
knife cookbook upload apt && ^
knife cookbook upload ntp && ^
knife cookbook upload sudo && ^
knife cookbook upload sysctl
Update: I told a co-worker about this problem, and he said "Is knife a batch file? If so, use call when invoking it." So I checked, and yes indeed, knife is actually knife.bat. So I modified my batch file, and this form also works:
call knife cookbook upload apt
call knife cookbook upload ntp
call knife cookbook upload sudo
call knife cookbook upload sysctl