1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

COMSPEC incompatibility - v9 is different than v7

Discussion in 'Support' started by Timothy Byrd, Jun 14, 2008.

  1. Timothy Byrd

    Joined:
    May 21, 2008
    Messages:
    21
    Likes Received:
    0
    (Quick question, what's the simplest way to get ComSpec set correctly launching cmd.exe from v9?)

    Using the command
    Code:
    start cmd
    Take Command 7.01.370 produces a command shell with
    Code:
    ComSpec=C:\WINDOWS\system32\cmd.exe
    Take Command 9.02.151 produces a command shell with
    Code:
    ComSpec=C:\jp\v9\tcc.exe
    Because of this, trying to get full CMD-compatibility by running a .cmd file using cmd.exe fails under v9.

    Also somewhere along the line of running a batch - that had worked correctly from a cmd.exe launched from TCmd 7 - an error dump dialog appeared:

    Code:
    OS: Windows XP Professional, SP2
    CPU: AuthenticAMD, AMD AMD Athlon(tm) 64 X2 Dual Core Processor 4400+, MMX @ 2220 MHz
    
    Module name: C:\jp\v9\tcc.exe
    
    Application data:
    VmVyc2lvbjogV2xWamFXWWpSMnRvYUdkb1kxb2tLRkl3SkRvNUpUMDV
    QRkFpTGdJRlN5SS9KVEp3Wm5wNGNEVWxKRGdsSVRoYWZHMTdSemM3Uj
    FaTlBVMXhlV3RYUVZORWZ3dz0NCkltYWdlQmFzZTogMTAwMDAwMDANC
    i0xDQpDb2RlID0gWzExNF0NCi0gMjIxDQotIDANCi0gMjE3DQotIDAN
    Ci0gMA0KLSBbXQ0KPiBDOlxqcFx2OVx0Y2MuZXhlDQoNCkpQIFNvZnR
    3YXJlDQpUQ0MNCjkuMDIuMTUxDQpUQ0MNCkNvcHlyaWdodCAoYykgMj
    AwOCBSZXggQy4gQ29ubiBhbmQgSlAgU29mdHdhcmUgSW5jLg0KVGFrZ
    SBDb21tYW5kIGlzIGEgdHJhZGVtYXJrIG9mIEpQIFNvZnR3YXJlIElu
    Yy4NClRDQw0KOS4wMi4xNTENClRDQw0KDQo+IEM6XFdJTkRPV1Ncc3l
    zdGVtMzJcbnRkbGwuZGxsDQo+IEM6XFdJTkRPV1Ncc3lzdGVtMzJca2
    VybmVsMzIuZGxsDQo+IEM6XGpwXHY5XFRha2VDbWQuZGxsDQoNCkpQI
    FNvZnR3YXJlDQpUYWtlQ21kDQo5LjAyLjE1MQ0KVGFrZUNtZC5ETEwN
    CkNvcHlyaWdodCAoYykgMjAwOCBSZXggQy4gQ29ubiBhbmQgSlAgU29
    mdHdhcmUgSW5jLg0KVGFrZSBDb21tYW5kIGlzIGEgcmVnaXN0ZXJlZC
    B0cmFkZW1hcmsgb2YgSlAgU29mdHdhcmUgSW5jLg0KVGFrZUNtZC5ET
    EwNCjkuMDIuMTUxDQpUYWtlQ21kLkRMTA0KDQo+IEM6XFdJTkRPV1Nc
    c3lzdGVtMzJcd2lubW0uZGxsDQo+IEM6XFdJTkRPV1Ncc3lzdGVtMzJ
    cVVNFUjMyLmRsbA0KPiBDOlxXSU5ET1dTXHN5c3RlbTMyXEdESTMyLm
    RsbA0KPiBDOlxXSU5ET1dTXHN5c3RlbTMyXEFEVkFQSTMyLmRsbA0KP
    iBDOlxXSU5ET1dTXHN5c3RlbTMyXFJQQ1JUNC5kbGwNCj4gQzpcV0lO
    RE9XU1xzeXN0ZW0zMlxtcHIuZGxsDQo+IEM6XFdJTkRPV1NcV2luU3h
    TXFg4Nl9NaWNyb3NvZnQuV2luZG93cy5Db21tb24tQ29udHJvbHNfNj
    U5NWI2NDE0NGNjZjFkZl82LjAuMjYwMC4yMTgwX3gtd3dfYTg0ZjFmZ
    jlcY29tY3RsMzIuZGxsDQo+IEM6XFdJTkRPV1Ncc3lzdGVtMzJcbXN2
    Y3J0LmRsbA0KPiBDOlxXSU5ET1dTXHN5c3RlbTMyXFNITFdBUEkuZGx
    sDQo+IEM6XFdJTkRPV1Ncc3lzdGVtMzJcdmVyc2lvbi5kbGwNCj4gQz
    pcV0lORE9XU1xzeXN0ZW0zMlx3c29jazMyLmRsbA0KPiBDOlxXSU5ET
    1dTXHN5c3RlbTMyXFdTMl8zMi5kbGwNCj4gQzpcV0lORE9XU1xzeXN0
    ZW0zMlxXUzJIRUxQLmRsbA0KPiBDOlxqcFx2OVxpcHdvcmtzNi5kbGw
    NCg0KL24gc29mdHdhcmUgaW5jLiAtIHd3dy5uc29mdHdhcmUuY29tDQ
    pJUCpXb3JrcyEgVjYNCjYuMS4wLjMwMjINCklQV29ya3MgY3BwL2Rsb
    A0KQ29weXJpZ2h0IChjKSAyMDA0IC9uIHNvZnR3YXJlIGluYy4gLSBB
    bGwgcmlnaHRzIHJlc2VydmVkLg0KSVAqV29ya3MhIChUTSkgaXMgYSB
    UcmFkZW1hcmsgb2YgL24gc29mdHdhcmUgaW5jLg0KaXB3b3JrczYuZG
    xsDQo2LjEuMC4zMDIyDQpJUCpXb3JrcyEgQysrIEVkaXRpb24gVmVyc
    2lvbiA2LjENCg0KPiBDOlxqcFx2OVxpcHdzc2w2LmRsbA0KDQovbiBz
    b2Z0d2FyZSBpbmMuIC0gd3d3Lm5zb2Z0d2FyZS5jb20NCklQKldvcmt
    zISBTU0wgVjYNCjYuMi4wLjMwMjINCklQV29ya3NTU0wgY3BwL2RsbA
    0KQ29weXJpZ2h0IChjKSAyMDA0IC9uIHNvZnR3YXJlIGluYy4gLSBBb
    GwgcmlnaHRzIHJlc2VydmVkLg0KSVAqV29ya3MhIChUTSkgaXMgYSBU
    cmFkZW1hcmsgb2YgL24gc29mdHdhcmUgaW5jLg0KaXB3c3NsNi5kbGw
    NCjYuMi4wLjMwMjINCklQKldvcmtzISBTU0wgQysrIEVkaXRpb24gVm
    Vyc2lvbiA2LjINCg0KPiBDOlxXSU5ET1dTXHN5c3RlbTMyXG9sZTMyL
    mRsbA0KPiBDOlxXSU5ET1dTXHN5c3RlbTMyXHBzYXBpLmRsbA0KPiBD
    OlxXSU5ET1dTXHN5c3RlbTMyXG5ldGFwaTMyLmRsbA0KPiBDOlxqcFx
    2OVxvbmlnLmRsbA0KPiBDOlxqcFx2OVxiY2hpbGQuZGxsDQpBIDMyIG
    JpdCwgc3ludGF4IGNvbG9yaW5nLCBtdWx0aS1sZXZlbCB1bmRvL3JlZ
    G8gZWRpdG9yIGNvbnRyb2wuDQpKYW4gdmFuIGRlbiBCYWFyZA0KQnJh
    aW5jaGlsZCwgQSAzMiBiaXQgZWRpdG9yIGNvbnRyb2wuDQoyLCA0LCA
    wLCAxDQpCY2hpbGQuZGxsDQpDb3B5cmlnaHQgqSAxOTkzLTIwMDUgSm
    FuIHZhbiBkZW4gQmFhcmQuDQpCY2hpbGQuZGxsDQoyLCA0LCAwLCAxD
    QpCcmFpbmNoaWxkDQoNCj4gQzpcV0lORE9XU1xzeXN0ZW0zMlxDT01E
    TEczMi5kbGwNCj4gQzpcV0lORE9XU1xzeXN0ZW0zMlxTSEVMTDMyLmR
    sbA0KPiBDOlxXSU5ET1dTXHN5c3RlbTMyXHNlbnNhcGkuZGxsDQo+IE
    M6XGpwXHY5XHdpZmltYW4uZGxsDQoNCk5pY29tc29mdCBMdGQuDQpXa
    UZpIE1hbmFnZXIgTGlicmFyeQ0KNC4yLjAuMA0KV2lGaU1hbi5kbGwN
    CihjKTIwMDctMjAwOCwgTmljb21zb2Z0IEx0ZC4gIEFsbCByaWdodHM
    gcmVzZXJ2ZWQuDQpXaUZpTWFuLmRsbA0KNC4yLjAuMA0KV2lGaSBNYW
    5hZ2VyDQoNCj4gQzpcV0lORE9XU1xzeXN0ZW0zMlxPTEVBVVQzMi5kb
    GwNCj4gQzpcV0lORE9XU1xzeXN0ZW0zMlxTRVRVUEFQSS5kbGwNCj4g
    QzpcV0lORE9XU1xzeXN0ZW0zMlx3aW5zcG9vbC5kcnYNCj4gQzpcV0l
    ORE9XU1xzeXN0ZW0zMlxpcGhscGFwaS5kbGwNCj4gQzpcV0lORE9XU1
    xzeXN0ZW0zMlxpY21wLmRsbA0KPiBDOlxXSU5ET1dTXHN5c3RlbTMyX
    GNyeXB0MzIuZGxsDQo+IEM6XFdJTkRPV1Ncc3lzdGVtMzJcTVNBU04x
    LmRsbA0KPiBDOlxXSU5ET1dTXHN5c3RlbTMyXHNlY3VyaXR5LmRsbA0
    KPiBDOlxXSU5ET1dTXHN5c3RlbTMyXFNFQ1VSMzIuZGxsDQo+IEM6XF
    dJTkRPV1Ncc3lzdGVtMzJcd2luaW5ldC5kbGwNCj4gQzpcV0lORE9XU
    1xzeXN0ZW0zMlx1eHRoZW1lLmRsbA0KPiBDOlxXSU5ET1dTXHN5c3Rl
    bTMyXHhwc3AycmVzLmRsbA0KPiBDOlxqcFx2OVxFbmdsaXNoLmRsbA0
    KDQpKUCBTb2Z0d2FyZQ0KRW5nbGlzaCBsYW5ndWFnZSBkbGwNCjkuMD
    IuMTUxDQpFbmdsaXNoLkRMTA0KQ29weXJpZ2h0IChjKSAyMDA4IFJle
    CBDLiBDb25uIGFuZCBKUCBTb2Z0d2FyZSBJbmMuDQpUYWtlIENvbW1h
    bmQgaXMgYSByZWdpc3RlcmVkIHRyYWRlbWFyayBvZiBKUCBTb2Z0d2F
    yZSBJbmMuDQpFbmdsaXNoLkRMTA0KOS4wMi4xNTENCkVuZ2xpc2guRE
    xMDQo=
    -- Timothy
    {vent}It's things like this that remind me why I used TakeCommand to the exclusion of 4NT.{/vent}
     
  2. Charles Dye

    Charles Dye Super Moderator
    Staff Member

    Joined:
    May 20, 2008
    Messages:
    3,272
    Likes Received:
    38
    IIRC, pre-v9 Take Command did not create or use a COMSPEC variable....

    I imagine the simplest way would be to do something like:

    Code:
    set comspec=%@search[cmd.exe]
    start cmd.exe
    set comspec=%_cmdspec
    
    Or omit the second SET COMSPEC, and instead wrap it in a SETLOCAL / ENDLOCAL pair.
     
  3. Timothy Byrd

    Joined:
    May 21, 2008
    Messages:
    21
    Likes Received:
    0
    Thanks. I made a small rcmd.btm:

    Code:
    setlocal
    set comspec=%@search[cmd.exe]
    start /pgm %comspec %@if["%1." ne ".",/k,] %$
    -- T
     
  4. p.f.moore

    Joined:
    May 30, 2008
    Messages:
    122
    Likes Received:
    1
    2008/6/14 Charles Dye <>:

    You mean it does now? How does it use COMSPEC? The help mentions that
    TCC sets it (which I'm not convinced is a good thing, particularly if
    it never uses it) but says nothing about it being used for anything.

    Paul.
     
  5. Charles Dye

    Charles Dye Super Moderator
    Staff Member

    Joined:
    May 20, 2008
    Messages:
    3,272
    Likes Received:
    38
    I don't believe TCC uses it, as e.g. COMMAND.COM did; but external programs may rely on it.
     
  6. rconn

    rconn Administrator
    Staff Member

    Joined:
    May 14, 2008
    Messages:
    9,666
    Likes Received:
    80
    Timothy Byrd wrote:

    >

    Take Command isn't doing this; TCC is. Take Command never sets COMSPEC,
    and it only references COMSPEC if you start a new tab with no command
    specified.

    If you want to run CMD in TCMD v9, the easiest way to do it is to have a
    CMD tab window running. You can do that either with a startup tab or by
    creating a toolbar button.

    If you want to start a non-tabbed copy of CMD from a tabbed TCC window
    so that it doesn't have the COMSPEC pointing to TCC, you can use the
    START /I option. (Or create a toolbar button!)


    Is this reproducible?

    Rex Conn
    JP Software
     
  7. rconn

    rconn Administrator
    Staff Member

    Joined:
    May 14, 2008
    Messages:
    9,666
    Likes Received:
    80
    Timothy Byrd wrote:


    Also, note that TCMD v9 will create a TCMD.GPF file (or TCC.GPF,
    depending on where the error occurred), which (unlike the Windows dump)
    is actually useful in tracing the cause of the error. If you have one
    (in your installation directory) please email it to me.

    Rex Conn
    JP Software
     
  8. Timothy Byrd

    Joined:
    May 21, 2008
    Messages:
    21
    Likes Received:
    0
    Sorry I took a while to respond - it takes me half an hour to get to the point where I can reproduce it, and I just now had the time.

    I got thinking it wasn't reproducible, but it just happened again. I didn't find a .gpf file. Do you want the base64-encoded dump?

    -- T
     
  9. rconn

    rconn Administrator
    Staff Member

    Joined:
    May 14, 2008
    Messages:
    9,666
    Likes Received:
    80
    Timothy Byrd wrote:

    The .GPF file will be created in the %localappdata/jpsoft directory (the
    same as the TCMD.INI default location). If you can't find it you can
    send the dump (though it's too limited to usually be of any use).

    Rex Conn
    JP Software
     

Share This Page