• ベストアンサー

MS-DOSコマンドで SORTの結果を出すには?

MS-DOSコマンドで SORTはできるんですが、その結果をファイルに残すのはどうしたらいいのでしょうか。 Windows7 です。SORT (ファイル名)> (ソートしたファイル)とすると 「アクセスが拒否されました」というのが出るんです。

  • CGI
  • 回答数5
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65535
  • ベストアンサー率43% (8507/19342)
回答No.4

「ファイルが新規作成可能な場所」で実行しましょう。 SORT ソートしたいファイル.txt > ソート済み.txt とやった時、カレントディレクトリが「ファイルが新規作成できない場所」だと「アクセスが拒否されました」になります。 ですので SORT ソートしたいファイル.txt > C:\ファイルが新規作成できる場所\ソート済み.txt と、出力先を、フルパスで「ファイルが作れる場所」で指定するか CD C:\ファイルが新規作成できる場所 とやって、カレントディレクトリを移動してから SORT C:\ファイルがあるフォルダ\ソートしたいファイル.txt > ソート済み.txt のように、読み込むファイルの方をフルパスで指定しましょう。

Chaubeaux
質問者

お礼

CD C:\ファイルが新規作成できる場所 とやって、カレントディレクトリを移動してから SORT C:\ファイルがあるフォルダ\ソートしたいファイル.txt > ソート済み.txt のように、読み込むファイルの方をフルパスで指定しましょう。 この方法で無事できました。c:\ ではできないことを初めて知りました。 どうも有難うございます。

その他の回答 (4)

  • mimazoku_2
  • ベストアンサー率20% (1844/8829)
回答No.5

まさか、 と思うがPATH(パス)が通っていないなんて・・・ありませんよね?! それか、そのファイル名がすでに存在しているとか・・・。 すでに有れば、>>ファイル名 で追加書き込み出来ますが・・・コマンド自体何年も触っていないのでね・・。

Chaubeaux
質問者

お礼

私もコマンドを何年も触っていないので、分かりませんでした。sort のディレクトリを c:\ ではなく、ほかのところに移してからやったらできました。

  • maiko0333
  • ベストアンサー率19% (840/4403)
回答No.3

Windows10ですが、(たぶん7もそうだったような) C:のルートディレクトリーには書き込みできません。 (管理者権限が必要です)

Chaubeaux
質問者

お礼

c:\ ではだめで、ディレクトリを移してからやるとできました。 有難うございます。

  • mimazoku_2
  • ベストアンサー率20% (1844/8829)
回答No.2

dir | sort >dir.txt としたら、問題なくできると思うが・・・。(ファイル名は適当に)

Chaubeaux
質問者

補足

c:\sort text1 >text2 としてみましたが、やはり駄目でした。 「アクセスが拒否されました。」というのが出ます。 何か根本的なところで私のシステムが違っているような気がします。

回答No.1

  /o オプションを使います sort in.txt /o out.txt  

Chaubeaux
質問者

補足

やってみましたが、やはり「アクセスが拒否されました」と出るんです。

関連するQ&A

  • コマンドプロンプト dir でのソート

    Windows7のコマンドプロンプトにてdirコマンドでのソートについて教えてください。 ソートするファイルはデジカメ写真群(jpeg形式)です。 ファイルが入ったフォルダでプロパティを見ると「日付時刻」「撮影日時」「アクセス日時」 「作成日時」「更新日時」があります。 推測ですが、写真を回転し保存したりして「更新日時」が変わっているのでは…と思って います。 複数のデジカメで撮った写真を撮影日時の順でソートしたくて dir/od と打つとどうやら 「撮影日時」のソートではなく「更新日時」でソートされている模様。 「撮影日時」でソートさせるにはどんなコマンドを打てばいいでしょうか? あるいはdirコマンドで「撮影日時」の情報も拾えればいいのですが....。 数百枚の写真を効率よく「撮影日時」でソートしたいです。 よろしくお願いします。 やりたいのは、リダイレクトした結果を元にファイル名を撮影日時順にナンバリングしたい のです。(意味通じます?)

  • MS-DOSのコマンド

    MS-DOSのコマンドで、複数のファイルを1つのファイルに結合(?) できるコマンドがあると聞いたのですがどうなんでしょうか? もしあるのならば、教えていただきたいです。 よろしくお願いします。

  • treeコマンドでソートできませんか?

     コマンドプロンプトのtreeコマンドで、ディレクトリ名順、ファイル順にソートして出力することはできますか?  “| sort”を使ってみましたが、どうもうまくできませんでしたので。よろしくお願いします。

  • Windows2000でMS-DOSのコマンドは使えますか?

    すみません、教えてください。 Windows98SEで動いているフリーソフトがあります、MS-DOSのBATファイルで一連の処理をしています、VB4で作ったプログラムが動いたり、DOSコマンドでコピーしたり、削除したりしています。 このソフトとVB4のランタイムをWindows2000に持って行っても動きますか? Windows2000で検索したらWindows2000は「MS-DOSを持っていない」とありましたが、MS-DOSを持っていなければ動かないって事ですか?   

  • MS-DOSのコマンドでファイルをクリアするコマンドありますか?

    DOSに関してはシロート同然のわたしです。 お助け下さい! あるテキストファイルをの中身だけを空にしたいのですが、 MS-DOSのコマンドで、ファイル名を指定して ファイルの中身を全て消すコマンドってありますでしょうか? ある様でしたら、実際のコーディング例も教えていただけませんか? (「aaa.txt」と言うファイルをクリアするとしたら・・・?) それと、もし、MS-DOSのコマンドの一覧が分かるホームページなどありましたら合わせて教えていただけませんでしょうか?

  • sortコマンドについて

    いつもお世話になっております。 sortコマンドについて質問させて下さい。 現在UNIXコマンドのsortによってファイルをソートしようとしています。 ソート対象となるファイルは下記の通りです。 ファイルの種類:csvファイル ファイルサイズ:80MByte 1レコード長:48Byte レコード数:120万レコード レコード例: 2,1000 ,1,10C0,15,0000000100000000000000000000000000000000 2,1117 ,1,10B0,16,0000000300000000000000000000000100000000 ・ ・ ・ そこで下記のようなコマンドにてソートしています。 sort -t, -k 1,1 -k 2,2 -k 3,3 -k 4,4 < fileA.csv > fileB.csv すると「sort:0653-657ソート中に書込みエラーが発生しました。」と出力され中断してしまいます。 自分なりにsortコマンドについて調べてみたところ、 /usr/tmpディレクトリのファイルシステムがいっぱいになることでコマンドが失敗しているようです。 (一時的にそのディレクトリにソート内容を展開しているようでした) 社内にて/usr/tmpディレクトリのファイルシステムの拡張を求めたところ「できない」と言われてしまいました。 開発の最終段階でのボリュームテストを行ったときの障害でしたので、 処理を大幅に変更するような対処は出来ない状況です。 代替方法などありましたらご教示頂きたいと思います。 以上、宜しくお願い致します。

  • Sortコマンド以外で行をソートする方法

    Sortコマンドを使ってテキストファイル内の行をソートしていたのですが、扱うテキストファイルの内容によってエラーが出てしまい、エラーメッセージをWEBで検索して書かれていた対策をしたのですがうまく行きませんでした。 ですので、Sort以外のコマンドで、テキストファイル内の行を昇順と降順でソートしたいと考えているのですが、何か方法はないでしょうか。 Windowsのコマンドプロンプトで使用出来るものであれば、AWKでもPerlでもその他のコマンドでも構いませんし、スクリプトファイルを読み込めるコマンドでしたらスクリプトでの書き方でも結構ですので、ご存知の方がおられましたら教えて頂けないでしょうか。

  • bash forコマンドでソート

    bash forコマンドでソート CentOS8 bashの forコマンドで、ディレクトリ内のファイル名を部分指定した降順でソートした状態で順次読み込みしたいです。 <ファイル> aaa.dat bbbb_0001.dat TEST_0001.file TEST_0002.file TEST_0003.file <アウトプット> TEST_0003.file TEST_0002.file TEST_0001.file 基本的な読込と、lsコマンドの結果を基に読み込む方法はわかりましたが、これに降順ソートを加えるにはどうすれば良いでしょうか? <基本的な読込> for file in /dir1/TEST_*.file do echo $file done <lsコマンドの結果を基に読込> for file in $(ls /dir1/TEST_*.file) do echo $file done

  • ms-dosについて

    そろそろパソコンにもなれてきたので、ms-dosプロンプトを使えるようになりたいと思っています。とりあえず、適当なHPで、コマンドを調べてやってみたんですが、ファイル削除というコマンドが使えません。何回も確認したので、コマンドには間違いがないと思いますが、使ってみても「そんなファイルはありません」みたいなことを言われてしまうんですが、<del のあとに続くファイルのパスみたいなのが違ってるんでしょうか?プロパティを開くと, ms-dosファイル名というのがあるので、それを入力してみるんですが、できません。どこに書いてあるのを打ち込めば消せるんでしょうか。 あと、映画の「電車男」で、電車男が、MS-DOSプロンプトだかコマンドプロンプトだかわかりませんが、そんなようなもんを開いて、エロページの広告みたいなのを一瞬で消してたんですが、どうやるんでしょうか。 キーボードをちょっとカチャカチャってやっただけで消してて、かなりかっこよかったんですが

  • ms-dosについて

    ms-dosを立ち上げるとms-dosプロンプトの画面に、 コマンドまたはファイル名がちがいますと出てしまいます。 よってpathにあたらしいファイルを追加しても読み込んでくれません。 なにがわるいのでしょうか? ちなみにパソコンは最近買い、 ファイルなどは全くいじっていません。