To tilde or not to tilde












2















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"



enter image description here



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.










share|improve this question

























  • 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
















2















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"



enter image description here



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.










share|improve this question

























  • 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














2












2








2


2






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"



enter image description here



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.










share|improve this question
















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"



enter image description here



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






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Jan 24 at 0:36







Pimp Juice IT

















asked Jan 24 at 0:31









Pimp Juice ITPimp Juice IT

25k114177




25k114177













  • 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






  • 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










1 Answer
1






active

oldest

votes


















1














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""





share|improve this answer
























  • 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











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
});


}
});














draft saved

draft discarded


















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









1














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""





share|improve this answer
























  • 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
















1














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""





share|improve this answer
























  • 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














1












1








1







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""





share|improve this answer













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""






share|improve this answer












share|improve this answer



share|improve this answer










answered Jan 24 at 12:52









LotPingsLotPings

5,1451823




5,1451823













  • 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





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


















draft saved

draft discarded




















































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.




draft saved


draft discarded














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





















































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







Popular posts from this blog

"Incorrect syntax near the keyword 'ON'. (on update cascade, on delete cascade,)

Alcedinidae

RAC Tourist Trophy