Solved

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

Posted on 2006-06-14
7
2,070 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

The following is a collection of cases for strange behaviour when using advanced techniques in DOS batch files. You should have some basic experience in batch "programming", as I'm assuming some knowledge and not further explain the basics. For some…
Being a system administrator some time we require to do things remotely, one of them is installing software. Here I am going to tell you how to install software through wmic (Windows management instrument console). I am not at all saying that this i…
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

837 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