Quotation without the Closing Mark


What will happen if a quotation is missing the closing mark in a batch parameter? I entered 3 quotation marks (double quotes) in the command line.

✍: FYIcenter.com


If a quotation is missing the closing mark in a batch parameter, that parameter will be extended to the end of the line.

Quotations have higher precedence than redirection operators (< and >) and command joining operators (& and |).

So if you have 1, 3, 5, or any odd numbers of double quotes in a command, the last double quote will open a quotation that reaches the end of line.

Count the number of double quotes in a line to make sure it's an even number.

Here are some examples on using quotations without the closing marks:

C:\fyicenter>Parameter-Cleaned.bat \Pro"gram Fi"les\Microsoft" Office
(\Pro"gram Fi"les\Microsoft" Office) () () () ()
(\Pro"gram Fi"les\Microsoft" Office)
(\Program Files\Microsoft Office)

C:\fyicenter>Parameter-Cleaned.bat \Pro"gram Fi"les\Microsoft" Office > nul
(\Pro"gram Fi"les\Microsoft" Office > nul) () () () ()
(\Pro"gram Fi"les\Microsoft" Office > nul)
(\Program Files\Microsoft Office )

C:\fyicenter>Parameter-Cleaned.bat \Pro"gram Fi"les\Microsoft" Office & echo Hi
(\Pro"gram Fi"les\Microsoft" Office & echo Hi) () () () ()
(\Pro"gram Fi"les\Microsoft" Office & echo Hi)
(\Program Files\Microsoft Office )

Notice that remove quotation mark code did not work correctly with redirection operations and command joining operators.


Escape Double Quote in Batch Parameter

Multiple Quotations in a Single Parameter

Introduction of Windows Batch File

⇑⇑ Windows Batch File Tutorials

2017-12-05, 172👍, 0💬