I’m trying to write a quick batch file. It will take the result of a command, put some extra text and quotes around it, and put that into a new file.The problem is that the result of the command I’m running includes a new line. Here’s the command:
p4 changelists -m 1 -t //depot/...> %FILENAME%
The output of that p4 command has a newline at the end of it. The file I’m putting it into needs to have quotes surrounding the output of that command, but the fact that the command contains a newline in it means that the “closing quote” appears on a new line in the file, which doesn’t work for what I’m doing.
I’ve tried writing the output of that command into a file and reading it back in, and also trying to run FINDSTR on a file containing the output, but I always seem to get back the stupid trailing whitespace. I’ve even tried inserting backspaces into the file, but that just put a backspace character into the file instead of actually executing a backspace…
Is there anything to be done about this?
I’m no perl wizard, but the following seems to work:
p4 changelists -m 1 -t //depot/...| perl -p -e "s/^/\042/;s/$/\042/"Check out Strawberry Perl, which provides a Windows version of Perl.
I’m always looking at my Unix tools when solving problems like this, even under Windows. sed and gawk will also get you there, check out msysgit for a nice bundle of Unix tools that will run on Windows.