• ベストアンサー

cshで拡張子を除いたファイル名を取得したい

cshにてファイル名から拡張子を除いた文字列を取得したいと思っています。 例えば abc.txt -> aaa defg.log -> defg といった具合に。 *ファイル名の長さは固定長ではないです。 *拡張子の長さもできれば3文字固定にはしたくないです。(無理なら固定でもやむを得ませんが) 何か簡単でいい方法はないものでしょうか? 知恵を貸してください。 よろしくお願いします。

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

  • ベストアンサー
  • ranx
  • ベストアンサー率24% (357/1463)
回答No.1

cshですよね。 set f = aaa.txt echo $f:r

steel_50130
質問者

お礼

こんな簡単な方法があったんですね! まだまだ勉強不足です。。。 awkとか使用しないとできないかなと思ってたので、とても助かりました。 ありがとうございました。

関連するQ&A

  • perlでファイルの拡張子を除いた文字列の取得

    perlでファイルの拡張子を除いた文字列を取得するにはどうすればいいんでしょうか? foo.txt --> foo aaa.pl --> aaa splitを使用して @array = split(/./,<filename>) $value = $array[0] としてもうまく取得できないんですが。。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • 取得したファイル名から拡張子の削除について

    BATにおいて「C:\test」フォルダに格納されているファイルに対してファイル名を取得後、取得したファイル名から拡張子を削除したファイル名を変数にセットしたいと考えていますが、どのようなロジックにしたらいいかご教示頂けますようお願い致します。 実際のファイルの拡張子は削除せず、表示されたファイル名の拡張子を削除したファイル名を変数にセットしたいと考えています。 ------------------------------------------------------------------------------- set FOLDER=C:\test for /f "usebackq" %%i in (`dir %FOLDER% /B *.txt`) do ( echo %%i pause ) ------------------------------------------------------------------------------- -------------------------------------------------------------------------------- C:\testの中身 a.txt bb.txt ccc.txt dd.txt e.txt -------------------------------------------------------------------------------

  • cshでファイルサイズ取得

    ヤマトです。 cshでファイルのサイズを取得したいのですが、分かりません。 環境はRed Had Linux7.2です。 hoge.txtのファイルサイズが0バイトの場合、処理を行うという事をやりたいのですが・・・ =======SAMPLE====== if ( hoge.txtのファイルサイズ = 0 ) then echo "サイズは0バイトです。" endif 教えて頂けると有り難く思います。宜しくお願いします。

  • cshの詳しいサイトはありますか?

    指定のpathにあるバッチをcshから呼び出したいのですが、cshで文字列連結の方法がわかりません。 #!/bin/csh path = "./" path+batch1.csh $1 本当は、バッチのpathは別ファイルに書いて置き、そのファイルを呼び出して変数名pathに格納したいのですが、cshに詳しいサイトはありますでしょうか?

  • 検索文字列以外のファイル

    テキストファイルの中身を検索して、その文字列以外のファイル名を取りたいのです。具体的には、 【A.txtの中身】 123 abc 【B.txtの中身】 111 abc 【C.txtの中身】 222 abc このようなテキストファイルの中身を検索して、文字列「123 abc」以外が書かれているファイル名(つまり、B.txt、C.txt)を取得したいのですが、findstrやForなどを駆使すれば、できますでしょうか?

  • VBでテキスト形式のファイル名称から拡張子を取りたい

    みなさんこんにちは^^ ちょっと困っています。 VB6でコーディングを行っていますが 取得したファイル名称を一旦ワークに落として それを出力ファイル名に利用したいのですが、 拡張子が邪魔をして上手く行きません。 何か拡張子を取るような方法があれば教えて頂きたいのですが! 例)入力ファイル名称 → 変換 → 出力ファイル名称   AAA.TXT AAA_001.TXT BBB_001.TXT BBB_001.TXT

  • powershellどんなファイル名でも取得したい

    本来はps1ファイルにドロップして実行したい動作があるのですが、 通常できないのでbatを仲介役として実行しています。 問題はファイル名によっては正常に読み込まれない事があります。 まず、以下がbatファイルの内容として、 [123.bat]-------------------------- @echo off powershell "D:\...\ABC.ps1" ""%1"" ------------------------------------- ps1ファイルは以下の内容とします。 [ABC.ps1]-------------------------- "$Args" ------------------------------------- 123.batにファイルをドロップすると""%1""として、 ABC.ps1へ渡されます。 しかし、ファイル名によっては途中で途切れてしまい正常に読み込めません。 ・半角丸括弧の場合 例えば「D:\...\(1).txt」と言うファイルをドロップすると、 batでは「""D:\...\(1).txt""」と認識されるも、 ps1では「D:\...\」となり、親パスまでしか認識されません。 但し、ファイル名によっては丸括弧が存在していても問題ない場合があります。 また、理由は不明ですが123.batの「""%1""」を「"""%1"""」のように、 ダブルクォートを3つにすると認識し正常に動作が可能となります。 ・半角&の場合 例えば「D:\...\りんご&みかん.txt」と言うファイルをドロップすると、 batとpa1ともに「D:\...\りんご」で後半がとぎれます。 これはダブルクォートが3つでも同じです。 他にもいくつか存在すると思いますが、 どんなファイル名でも単純な文字列として取得する方法あるでしょうか。 ファイル名自体を変更して解決はできないです。 どなたかご教授のほどよろしくお願いいたします。

  • cshでsubstr

    ヤマトです。 cshの文字列分割について質問します。 環境はRed Had Linux7.2です。 set DATA = A01/B/テスト文字列 のデータの5文字目の文字列は何か取得したいのですが、 substr($DATA,5,1)みたいな書き方は、 awkを使用してできるのでしょうか? ===sample.sh一部抜粋=== set DATA = A01/B/テスト文字列 set AAA = substr($DATA,5,1) ←(?) echo $AAA ===結果=== B 教えて頂けると有り難く思います。宜しくお願いします。

  • 文字列取得

    '/path1/path2/file1.txt' '/path1/path2/path3/file2.txt' 上記のようなpathがあった場合にファイル名(拡張子なし)の 文字列を取得したいのですがどのように良いでしょうか? 宜しくお願い致します。 awkで$4と指定すれば「file1.txt」の文字列を取得できるのですが パスの長さが定まっていないため$4ではなく最後の文字と指定する 記号はないでしょうか? echo /path1/path2/file1.txt |awk '{FS="/"; print $4}'

  • .htaccessで拡張子なしのファイルを表示させる方法

    拡張子なしのファイルを拡張子付きのファイルに関連付けるための質問です。 以下のようにhtaccessを設定すると「abc10.txt」以降はすべて「abc1.txt」にリダイレクトしてしまいます。 ファイル名の数字は9までしか認識しないようです。 例えばリダイレクト先のファイル名を「abc10.txt」に指定すると1術しか認識せず「abc1.txt」を表示してしまいます。 「abc11.txt」も「abc12.txt」も同じく「abc1.txt」を表示してしまいます。 例1 http://sample.com/abc9 (拡張子なしのファイル指定) 表示:abc9.txt abc1.txt ~ abc9.txtは正しく表示される。 例2 http://sample.com/abc12 (拡張子なしのファイル指定) 表示:abc1.txt abc10.txt ~ abc12.txtはすべてabc1.txtが表示される。 RewriteEngine on RewriteRule ^abc1 abc1.txt RewriteRule ^abc2 abc2.txt RewriteRule ^abc3 abc3.txt RewriteRule ^abc4 abc4.txt RewriteRule ^abc5 abc5.txt RewriteRule ^abc6 abc6.txt RewriteRule ^abc7 abc7.txt RewriteRule ^abc8 abc8.txt RewriteRule ^abc9 abc9.txt RewriteRule ^abc10 abc10.txt RewriteRule ^abc11 abc11.txt RewriteRule ^abc12 abc12.txt abc9.txt以降のファイル「 abc10.txt」「 abc11.txt」「 abc12.txt」を正しく表示させる方法はないでしょうか? .htaccessで9以降の数字を認識させるオプションコマンドなどがあれば楽なのですが。

    • ベストアンサー
    • HTML