32520


お世話になっております。  
[参考サイト１](http://dobon.net/vb/dotnet/process/shell.html)  
[参考サイト２](http://jeanne.wankuma.com/tips/csharp/process/startinfo.html)  
上のサイトを参考にしたのですが、うまくいきませんでした。  
開きたいexeはdbview.exeと言うexeです。

[code]

      string inputFolderName = @"C:\tmp"
        string sample1 = "sample1.DB";
        string sample2 = "sample2.DB";
        string sample3 = "sample3.DB";
        string[] dbName = new string[] { sample1, sample2, sample3 };
    
        for (int i = 0; i < dbName.Length; i++) {
            string FileName = "dbview.exe";
            string Directory = Path.Combine(inputFolderName , MasterName[i]);
            string Arguments = Directory;
    
            Process process = new Process();
            process.StartInfo.FileName = FileName;
            process.StartInfo.ErrorDialog = true;
            process.StartInfo.Arguments = Arguments;
            process.Start();
            process.WaitForExit();
        }
    
[/code]

エラーとしては  
'dbview.exe' が見つかりません。名前を正しく入力したかどうかを確認してから、やり直してください。  
と言われます。

今回の目的は、このdbviewを起動さ.dbファイルをアクセスDBに変換したいと考えています。

dbviewのヘルプにCommand-line argumentsがいくつか用意されているみたいなのですが、そのコマンドが  
**dbview.exe c:\data\country.db**  
と記載がありました。

process.StartInfo.Argumentsにdbview.exe
c:\data\country.dbのコマンドラインを入力してもダメだったのですが、何がダメなのでしょうか？

ご教授よろしくお願いします。

※dbviewが保存されているところはデスクトップのフォルダになります。  
その中の名前は’DBView.exe’となってます。  
string FileName = "dbview.exe";部分を大文字にして試してもダメでした。

以下、dbview.exe ヘルプ全文

[code]

    Paradox Viewer supports the wide list of command-line arguments.
    You may use these extended parameters to control the any functionality.
    
    dbview.exe [<paradox_file> [/e] [csv|txt|htm|xml|xls|sav|sql] [destination_file]] [/t] [/nocreate] [/ansi|oem] [/pass=] [/noini] [/norecno] [/lang=]
    
    
    A few samples:
    - to start the tool in standard interactive mode
    dbview.exe
    
    - to start the tool and open the Paradox file automatically
    dbview.exe c:\data\country.db
    
    - to convert the Paradox table (country.db) to CSV-file (country.csv)
    dbview.exe c:\data\country.db /e csv
    
    - to convert the Paradox table (country.db) to text file with custom file name
    dbview.exe c:\data\country.db /e txt d:\output\data0026.dat
    
    - to save the Paradox table to MS Excel spreadsheet
    dbview.exe d:\country.db /e xls
    
    - to publish the Paradox table to web-page (html-format)
    dbview.exe d:\country.db /e htm x:\inetpub\wwwroot\countries.htm
    
    - to generate xml-file from Paradox table
    dbview.exe d:\country.db /e xml
    
    - to generate SPSS-file from Paradox table
    dbview.exe d:\country.db /e sav
    
    - to generate SQL-dump from Paradox table
    dbview.exe d:\country.db /e sql
    
    - to generate SQL-dump without CREATE TABLE statement
    dbview.exe d:\country.db /e sql d:\country.sql /nocreate
    
    - to convert the Paradox table to CSV-file and include the header line
    dbview.exe c:\data\country.db /e csv d:\country.csv /t
    
    - to open the Paradox file in OEM codepage
    dbview.exe c:\data\country.db /oem
    
    - to open the password protected Paradox file
    dbview.exe c:\data\country.db /pass=peter
    
    - to start the tool but do not save this session in configuration file
    dbview.exe c:\data\country.db /noini
    
    - to start the viewer with custom language file
    dbview.exe c:\data\country.db /lang=LANG\german.lng
    
    - to save the Paradox table to without column with record number
    dbview.exe d:\country.db /e xls /norecno
    
[/code]

**追記**

helpにこのようなものもありました。  
Paradox Viewer supports also the configuration file where you may customize
any parameter for viewer.  
You may activate this configuration file via command-line argument

dbview.exe [ [/f ]

Also you may use the next parameters:  
Format=CSV ' destination export format (CSV or TXT or HTM or XML or XLS or XLW
or SAV or SQL or MDB or ADO or WK1)  
FileName=country1.csv ' destination file name for export  
SkipHeader=1/0 ' skip or include header in exported file  
BreakExportOnException=1/0 ' continue if error occured during file parse  
Filter=(Area > 1000000) ' expression to limit the records for export  
FirstRow=1 ' first row  
LastRow=15 ' last row  
FieldList=CODE;NAME ' field list  
Sort=CODE ' field name to order  
ExportSource=STRUCTURE ' DATA or STRUCTURE or GENERAL  
CreateTableSQL=0/1 ' skip or include the CREATE TABLE statement for SQL export  
Password=qx2z8yas ' required password to read the file  
MDBUserID=peter ' UserID for export to MS Access  
MDBPassword=p19ht ' Password for export to MS Access  
IncludeRecNoInExport=0/1 ' include or exclude the record number in saved file  
Language=german.lng ' default language file with translated interface  
CSVExportDelimiter=, ' default field delimiter for CSV export  
CSVExportQualifier=" ' default text qualifier for CSV export  
CodePage=OEM ' use DOS/OEM codepage to read the file

Any parameter can be included in config file or removed from config-file.

C#  
.net3.5  
windows8.1


CC BY-SA 3.0
2017-02-09T02:23:14.843
32518
2017-02-09T04:00:46.583
2017-02-09T04:00:46.583
19310
19310
question
c#
外部アプリケーションを起動する、ファイルを関連付けられたソフトで開く


Windowsの既定の設定ではデスクトップフォルダーには`PATH`が設定されていませんので、ファイル名のみで`Process.Start`を実行することはできません。

対策としては以下のようなものになります。

  * コード中に`dbview.exe`の絶対パスを明示する
  * `Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Desktop), "dbview.exe")`でデスクトップのパスを追加する
  * カレントディレクトリを明示する
  * カレントディレクトリ(おそらく実行ファイルのディレクトリ)に`dbview.exe`を移動する
  * `PATH`にデスクトップを追加する。


CC BY-SA 3.0
2017-02-09T02:47:35.967
32520
2017-02-09T02:47:35.967
5750
32518
answer