Solved

Equivalent command to Unix export paramfile=`cat /dir/dir/dir/paramlist.txt`

Posted on 2006-06-14
7
2,074 Views
Last Modified: 2012-05-05
I am trying to replicate the following Unix command set to MS-DOS  is there an equivalent in MS-DOS

Unix
export paramfile=`cat /dir/dir/dir/paramlist.txt`
..../dsjob -run $paramfile PROJECTNAME JOBNAME

MS-DOS that I have tried is

set paramfile='type c:\parameters.txt'
C:\...\dsjob.exe  -run %paramfile% ...

0
Comment
Question by:reccles
  • 2
  • 2
7 Comments
 
LVL 95

Expert Comment

by:Lee W, MVP
ID: 16907192
Translate the unix into englilsh (what you want to do) and we'll see if we can help.  Otherwise, you may be waiting for someone who knows both well.
0
 
LVL 10

Accepted Solution

by:
GuruGary earned 125 total points
ID: 16907792
That is a pretty good direct translation ... but DOS doesn't quite work that way.  What is the format of the parameters.txt file?  Is it one line per parameter like:
FILENAME=TEST.TXT
or does it have the declare syntax like:
declare -x FILENAME="TEST.TXT"
or is it something else?  If it is one line per parameter without declare, AND it is running under a command prompt under Windows NT/2000/XP/2003, you can try something like this in a batch file:

for /f "delims=" %%a in (c:\parameters.txt) do set %%a
C:\...\dsjob.exe -run PROJECTNAME JOBNAME

Do you know if the "DOS" version of this program takes the parameters from the environment?  The "for" line should load all the values into the current environment if they are in the right format, so I wouldn't think there would be a need to pass them in the .exe file if it does read them from the environment.

If they are in the "declare" format, then maybe try stripping each line down to just "variable=value" syntax and try it.
0
 
LVL 10

Expert Comment

by:pbarrette
ID: 16956436
Hi GuruGary,

Actually, if they are in the "declare -x" format, then you could still use your FOR /F idea. You'd just have to modify it a bit:

FOR /F "TOKENS=2*" %%F IN (parameters.txt) DO (SET %%G)

This will use space as the delimeter to skip "declare", place "-x" into %%F which we then ignore. Then the rest of the line goes into %%G to include spaces if needed.

pb
0
 
LVL 10

Expert Comment

by:pbarrette
ID: 17198042
Hi Sirbounty,

Long time, no see. My fault entirely.

I just suggested a minor modification to GuruGary's idea. All points should be awarded to him.

pb
0
 
LVL 10

Expert Comment

by:GuruGary
ID: 17198206
Well thanks, pb!  No objections to that from me.
0

Featured Post

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

One of my most closely kept secrets is revealed in this discussion How to output text on the same line This question was recently posted in EE by Simon336697 (http://www.experts-exchange.com/Programming/Languages/Scripting/Shell/Batch/Q_2459…
TOMORROW TOMORROW.BAT is inspired by a question I get asked over and over again; that is, "How can I use batch file commands to obtain tomorrow's date?" The crux of this batch file revolves around the XCOPY command - a technique I discovered w…
Nobody understands Phishing better than an anti-spam company. That’s why we are providing Phishing Awareness Training to our customers. According to a report by Verizon, only 3% of targeted users report malicious emails to management. With compan…

726 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