To tilde or not to tilde
When writing batch FOR
loops I've picked up a habit of using tildes
in the variable placeholder names in the command portion of the script and enclose that with double quotes.
Example Syntax
FOR %%A IN ("*.*") DO ECHO "%%~A"
Reason
I usually write scripts like this as a standard whether or not they are truly needed without thought. I like how it strips the double quotes from the set
portion of the loop and then adds them back explicitly in the command parameter
portion of the loop.
Question
What are some reasons from others experience or perhaps officially documented somewhere why you would or would not want to use tildes
for this reason with FOR
loops via cmd or batch.
batch-file cmd.exe
add a comment |
When writing batch FOR
loops I've picked up a habit of using tildes
in the variable placeholder names in the command portion of the script and enclose that with double quotes.
Example Syntax
FOR %%A IN ("*.*") DO ECHO "%%~A"
Reason
I usually write scripts like this as a standard whether or not they are truly needed without thought. I like how it strips the double quotes from the set
portion of the loop and then adds them back explicitly in the command parameter
portion of the loop.
Question
What are some reasons from others experience or perhaps officially documented somewhere why you would or would not want to use tildes
for this reason with FOR
loops via cmd or batch.
batch-file cmd.exe
I’ve never used them, never needed to. I wouldn’t, since I don’t want to glance at them and think they have anything to do with the user’s home folder. Stylistic choice, curious to see what others say.
– primohacker
Jan 24 at 0:59
1
Generally I don’t like to add little “tiddlybits” to commands just for shiggles.
– primohacker
Jan 24 at 1:07
add a comment |
When writing batch FOR
loops I've picked up a habit of using tildes
in the variable placeholder names in the command portion of the script and enclose that with double quotes.
Example Syntax
FOR %%A IN ("*.*") DO ECHO "%%~A"
Reason
I usually write scripts like this as a standard whether or not they are truly needed without thought. I like how it strips the double quotes from the set
portion of the loop and then adds them back explicitly in the command parameter
portion of the loop.
Question
What are some reasons from others experience or perhaps officially documented somewhere why you would or would not want to use tildes
for this reason with FOR
loops via cmd or batch.
batch-file cmd.exe
When writing batch FOR
loops I've picked up a habit of using tildes
in the variable placeholder names in the command portion of the script and enclose that with double quotes.
Example Syntax
FOR %%A IN ("*.*") DO ECHO "%%~A"
Reason
I usually write scripts like this as a standard whether or not they are truly needed without thought. I like how it strips the double quotes from the set
portion of the loop and then adds them back explicitly in the command parameter
portion of the loop.
Question
What are some reasons from others experience or perhaps officially documented somewhere why you would or would not want to use tildes
for this reason with FOR
loops via cmd or batch.
batch-file cmd.exe
batch-file cmd.exe
edited Jan 24 at 0:36
Pimp Juice IT
asked Jan 24 at 0:31
Pimp Juice ITPimp Juice IT
24.5k113974
24.5k113974
I’ve never used them, never needed to. I wouldn’t, since I don’t want to glance at them and think they have anything to do with the user’s home folder. Stylistic choice, curious to see what others say.
– primohacker
Jan 24 at 0:59
1
Generally I don’t like to add little “tiddlybits” to commands just for shiggles.
– primohacker
Jan 24 at 1:07
add a comment |
I’ve never used them, never needed to. I wouldn’t, since I don’t want to glance at them and think they have anything to do with the user’s home folder. Stylistic choice, curious to see what others say.
– primohacker
Jan 24 at 0:59
1
Generally I don’t like to add little “tiddlybits” to commands just for shiggles.
– primohacker
Jan 24 at 1:07
I’ve never used them, never needed to. I wouldn’t, since I don’t want to glance at them and think they have anything to do with the user’s home folder. Stylistic choice, curious to see what others say.
– primohacker
Jan 24 at 0:59
I’ve never used them, never needed to. I wouldn’t, since I don’t want to glance at them and think they have anything to do with the user’s home folder. Stylistic choice, curious to see what others say.
– primohacker
Jan 24 at 0:59
1
1
Generally I don’t like to add little “tiddlybits” to commands just for shiggles.
– primohacker
Jan 24 at 1:07
Generally I don’t like to add little “tiddlybits” to commands just for shiggles.
– primohacker
Jan 24 at 1:07
add a comment |
1 Answer
1
active
oldest
votes
In your exact use case it doesn't make a difference but also doesn't harm :
- as file names iterated by a wildcard are always returned unquoted.
When iterating some double quoted strings (especially cmd line args %*
)
I'd always use them:
@Echo off
For %%A IN (
"this is a sentence"
two words
"some words"
) Do (
Echo with tilde: "%%~A"
Echo w/o tilde: "%%A"
Echo:
)
> SU1397704.cmd
with tilde: "this is a sentence"
w/o tilde: ""this is a sentence""
with tilde: "two"
w/o tilde: "two"
with tilde: "words"
w/o tilde: "words"
with tilde: "some words"
w/o tilde: ""some words""
Yes, that's the reason I use them based on habit because I was hit by that with the iteration of values having spaces!!
– Pimp Juice IT
Jan 24 at 13:17
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "3"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1397704%2fto-tilde-or-not-to-tilde%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
In your exact use case it doesn't make a difference but also doesn't harm :
- as file names iterated by a wildcard are always returned unquoted.
When iterating some double quoted strings (especially cmd line args %*
)
I'd always use them:
@Echo off
For %%A IN (
"this is a sentence"
two words
"some words"
) Do (
Echo with tilde: "%%~A"
Echo w/o tilde: "%%A"
Echo:
)
> SU1397704.cmd
with tilde: "this is a sentence"
w/o tilde: ""this is a sentence""
with tilde: "two"
w/o tilde: "two"
with tilde: "words"
w/o tilde: "words"
with tilde: "some words"
w/o tilde: ""some words""
Yes, that's the reason I use them based on habit because I was hit by that with the iteration of values having spaces!!
– Pimp Juice IT
Jan 24 at 13:17
add a comment |
In your exact use case it doesn't make a difference but also doesn't harm :
- as file names iterated by a wildcard are always returned unquoted.
When iterating some double quoted strings (especially cmd line args %*
)
I'd always use them:
@Echo off
For %%A IN (
"this is a sentence"
two words
"some words"
) Do (
Echo with tilde: "%%~A"
Echo w/o tilde: "%%A"
Echo:
)
> SU1397704.cmd
with tilde: "this is a sentence"
w/o tilde: ""this is a sentence""
with tilde: "two"
w/o tilde: "two"
with tilde: "words"
w/o tilde: "words"
with tilde: "some words"
w/o tilde: ""some words""
Yes, that's the reason I use them based on habit because I was hit by that with the iteration of values having spaces!!
– Pimp Juice IT
Jan 24 at 13:17
add a comment |
In your exact use case it doesn't make a difference but also doesn't harm :
- as file names iterated by a wildcard are always returned unquoted.
When iterating some double quoted strings (especially cmd line args %*
)
I'd always use them:
@Echo off
For %%A IN (
"this is a sentence"
two words
"some words"
) Do (
Echo with tilde: "%%~A"
Echo w/o tilde: "%%A"
Echo:
)
> SU1397704.cmd
with tilde: "this is a sentence"
w/o tilde: ""this is a sentence""
with tilde: "two"
w/o tilde: "two"
with tilde: "words"
w/o tilde: "words"
with tilde: "some words"
w/o tilde: ""some words""
In your exact use case it doesn't make a difference but also doesn't harm :
- as file names iterated by a wildcard are always returned unquoted.
When iterating some double quoted strings (especially cmd line args %*
)
I'd always use them:
@Echo off
For %%A IN (
"this is a sentence"
two words
"some words"
) Do (
Echo with tilde: "%%~A"
Echo w/o tilde: "%%A"
Echo:
)
> SU1397704.cmd
with tilde: "this is a sentence"
w/o tilde: ""this is a sentence""
with tilde: "two"
w/o tilde: "two"
with tilde: "words"
w/o tilde: "words"
with tilde: "some words"
w/o tilde: ""some words""
answered Jan 24 at 12:52
LotPingsLotPings
4,9211822
4,9211822
Yes, that's the reason I use them based on habit because I was hit by that with the iteration of values having spaces!!
– Pimp Juice IT
Jan 24 at 13:17
add a comment |
Yes, that's the reason I use them based on habit because I was hit by that with the iteration of values having spaces!!
– Pimp Juice IT
Jan 24 at 13:17
Yes, that's the reason I use them based on habit because I was hit by that with the iteration of values having spaces!!
– Pimp Juice IT
Jan 24 at 13:17
Yes, that's the reason I use them based on habit because I was hit by that with the iteration of values having spaces!!
– Pimp Juice IT
Jan 24 at 13:17
add a comment |
Thanks for contributing an answer to Super User!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1397704%2fto-tilde-or-not-to-tilde%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
I’ve never used them, never needed to. I wouldn’t, since I don’t want to glance at them and think they have anything to do with the user’s home folder. Stylistic choice, curious to see what others say.
– primohacker
Jan 24 at 0:59
1
Generally I don’t like to add little “tiddlybits” to commands just for shiggles.
– primohacker
Jan 24 at 1:07