Solved

batch file sytax question

Posted on 2013-11-19
5
633 Views
Last Modified: 2013-11-19
I'm trying to get a string returned into a variable in WIndows batch by using SET.
The command I'm running is:
for /f %i in (22NRmeta.txt) do symaccess -sid 22 list -type stor -dev %i -v | set %m = (findstr "Masking View Names") | echo %i % m >> 22PerDEV_ViewCount.txt

The issue is this: variable %m is returned to console as "%m" and not the result of findstr "Masking View Names")

Sample result returned to file below:
0BEC % m
0BF5 % m
0BFE % m
0C07 % m
0C10 % m

How do I get the result of findstr to echo to the file? Thanks folks!!
0
Comment
Question by:SaffronThePuppy
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
5 Comments
 
LVL 9

Expert Comment

by:WebDevEM
ID: 39660009
Hi,

Just a quick thought on this one... If your command above is a copy/paste of the BAT file, the answer might be as simple as removing the space between % and m in the echo command, like so:
for /f %i in (22NRmeta.txt) do symaccess -sid 22 list -type stor -dev %i -v | set %m = (findstr "Masking View Names") | echo %i %m >> 22PerDEV_ViewCount.txt

Open in new window

0
 
LVL 69

Accepted Solution

by:
Qlemo earned 500 total points
ID: 39660035
No, that doesn't work that way at all. You can't use the output of other commands directly to set a var, you'll need another FOR /F:
for /f "tokens=*" %i in (22NRmeta.txt) do ^
for /F "tokens=*" %L in ('symaccess -sid 22 list -type stor -dev %i -v ^| findstr "Masking View Names" ') do ^
echo,%i %L >> 22PerDEV_ViewCount.txt

Open in new window

Though it would be much better write to the file only once (much faster):
(for /f "tokens=*" %i in (22NRmeta.txt) do ^
for /F "tokens=*" %L in ('symaccess -sid 22 list -type stor -dev %i -v ^| findstr "Masking View Names" ') do ^
echo,%i %L ) > 22PerDEV_ViewCount.txt

Open in new window

And of course you'll need to use %% instead of % if you run that in a batch file instead of the (interactive) command prompt.
0
 
LVL 9

Expert Comment

by:WebDevEM
ID: 39660045
@Qlemo - Thanks for chiming in on this one... I'm on a Mac now so I don't have access to experiment with it.  Looks like Saffron's in good hands.
0
 
LVL 69

Expert Comment

by:Qlemo
ID: 39660073
Since you have also included PowerShell in your tags:
foreach ($i in Get-Content 22NRmeta.txt) {
  symaccess -sid 22 -list -type stor -dev $i -v |
    select-string 'Masking View Names' | % {
      write-output $i $_
   }
}

Open in new window

0
 

Author Closing Comment

by:SaffronThePuppy
ID: 39660119
Awesome and thanks! I will play with the powershell also. Appreciated!
0

Featured Post

Secure Your Active Directory - April 20, 2017

Active Directory plays a critical role in your company’s IT infrastructure and keeping it secure in today’s hacker-infested world is a must.
Microsoft published 300+ pages of guidance, but who has the time, money, and resources to implement? Register now to find an easier way.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Using VBScript. How to obtain the recomended paging file size? 8 88
Automate PC's, Laptop to correct OU 4 45
Powershell GUI 11 66
Convert Variable to Array 4 16
You may have a outside contractor who comes in once a week or seasonal to do some work in your office but you only want to give him access to the programs and files he needs and keep privet all other documents and programs, can you do this on a loca…
Why pager replacement is still an issue OnPage has what some might call a “hate/hate” relationship with pagers. Not much room for love. As we see it, pagers are an antiquated bit of technology. Pagers are dinosaurs which, like most dinosaurs, sho…
The viewer will learn how to dynamically set the form action using jQuery.
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

730 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question