過去の桐井戸端BBS (桐ver.8)
6861 フォルダ名などの文字列の記述 大原 2000/07/14-21:22
一括処理で、フォルダ作成を使っています。
フォルダ作成 D:\漫画 とする。
と KU0103:ファイル名の形式に誤りがあります。
の表示です。
どこが間違っているのでしょうか。

もうひとつ、D:\山田\朝日\仕上表 と最後の ”表”
という文字をいれると、エラーになります。
当然、D:\山田¥朝日までのフォルダは出来ているものとします。
”表”という文字を除くとうまくいくのですが。

何方かよろしくおねがいします。
6862 Re:フォルダ名などの文字列の記述 KH 2000/07/14-22:07
記事番号6861へのコメント
>フォルダ作成 D:\漫画
>KU0103:ファイル名の形式に誤りがあります。

多分

フォルダ作成 ”D:\漫画”

ではなかったでしょうか?
ダブルクオーテションが足りないのではないでしょうか。
6864 フォルダ名などの文字列の記述 佐田 守弘 2000/07/15-00:11
記事番号6862へのコメント
大原さん
原因はKHさんが#6862「Re:フォルダ作成について」で書かれている様に、
作成するフォルダ名の文字列を二重引用符で囲んでない事だと思います。
これに関連しまして、桐の一括処理コマンドの中で、
パラメータとして指定する文字列の記述について補足させて頂きます。

桐のコマンドの中には、この質問にある「フォルダ作成」コマンドを始め、
「表」コマンドや「書き出し」「読み込み」「データパス名」コマンドなど
ファイル名やフォルダ名、パス名などをパラメータで指定するコマンドが多数あります。
その他、各種の条件名をパラメータで指定するコマンドも同様です。
また、会話処理での文字列の検索などもこれから述べるルールに準じます。

これらのコマンドでは、対象となるファイル名、パス名、フォルダ名、
あるいは条件名などを文字列ないしは文字列型の変数で指定します。
文字列型変数で指定する場合には、その値が代入されている変数名を記述すれば良いのですが、
文字列定数として直接その名称を記述する時には、注意が必要です。

●文字列の記述の原則は、二重引用符で囲む
文字列を記述する場合、その文字列を二重引用符で囲んで記述するのが、文字列定数の記述の原則です。
つまり、
 フォルダ作成 "漫画"
 表 "漫画"
の様に記述します。

●二重引用符を省略できる場合
文字列を二重引用符で囲んで記述するのが大原則ですが、これはあくまでも原則で、例外があります。
その例外とは、明らかに文字列と解釈できる場合には、二重引用符の省略が許されます。
つまり、
 フォルダ作成 漫画
の「漫画」は、計算式や項目名、変数名などの記述として解釈される事はないので、単に「漫画」と記述する事ができます。
どういった場合に許されるかの簡単な判断は、各種の演算子や特殊な意味がある記号が文字列として使われていない事です。
通常の漢字や仮名だけで書かれていれば大体大丈夫です。

●二重引用符を省略できない場合
例えば、「表 漫画」は許されますが、「表 漫画.tbl」はエラーになります。
この場合には、「"漫画.tbl"」の様に二重引用符を付ける必要があります。
質問の「D:\漫画」の記述は、「\」が整数除算の演算子なので、計算式として解釈され、エラーになったものと思われます。

佐田守弘(KS-00119)
6867 Re:フォルダ名などの文字列の記述 大原 2000/07/15-09:47
記事番号6864へのコメント
KHさん、佐田先生、早速の御回答ありがとう
ございました。下記のように修正いたしました。


******3層5連のフォルダ作成*******
変数宣言 共通,文字列{&DP,&DP2,&DP3,&サブ}
変数宣言 共通,整数{&番号,&OK}
&DP="D:\漫画"
&DP2="D:\漫画\本"
フォルダ作成  &DP
フォルダ作成  &DP2
&番号=1
繰り返し &番号=&番号,5,1
&サブ=#対応文字列("\価格,\種類,\おもしろさ,\
         \表4,\仕上げ表1",&番号)
&DP3=&DP2+&サブ
フォルダ作成 &DP3
繰り返し終了
終了

あわせて、質問させてください。
上の記述は、正しい(検証済)のですが、
#対応文字列の( )内で、最後に”表”の一文字を
付けると、エラーになります。
最初と、中間の”表”は、よいみたいです。
何か、意味があるのでしょうか?

6873 Re:フォルダ名などの文字列の記述 KH 2000/07/15-20:08
記事番号6867へのコメント
>あわせて、質問させてください。
>上の記述は、正しい(検証済)のですが、
>#対応文字列の( )内で、最後に”表”の一文字を
>付けると、エラーになります。
>最初と、中間の”表”は、よいみたいです。
>何か、意味があるのでしょうか?

 フォルダ作成  ”d:¥漫画”
 フォルダ作成  ”d:¥漫画¥表”

としてみましたが、ちゃんと漫画フォルダの下にフォルダ表が出来ました。
一括処理のプログラム上で何か他の原因があるのではないでしょうか。
6875 Re:フォルダ名などの文字列の記述 大原 2000/07/16-09:24
記事番号6873へのコメント
> フォルダ作成  ”d:¥漫画”
> フォルダ作成  ”d:¥漫画¥表”
>
>としてみましたが、ちゃんと漫画フォルダの下にフォルダ表が出来ました。
>一括処理のプログラム上で何か他の原因があるのではないでしょうか。

KHさん、早速の御連絡ありがとうございました。
でもやはり、
「KU0103:ファイル名の形式に誤りがあります」が表示されてしまいます。
フォルダ作成 "D:\漫画"
フォルダ作成 "D:\漫画\表"
としたのですが。
フォルダ作成 "D:\漫画\表あ"
なら良いのですが
私のパソコンが変なのか????

6876 Re:フォルダ名などの文字列の記述 大原 2000/07/16-10:18
記事番号6875へのコメント
>私のパソコンが変なのか????
追伸
桐のバージョンをsp5にupしたら
な、なんと、うまくいきました。
KHさん、ありがとう
これからも、よろしくお願いします。
6877 Re:フォルダ名などの文字列の記述 KH 2000/07/16-22:07
記事番号6876へのコメント
>桐のバージョンをsp5にupしたら
>な、なんと、うまくいきました。

 一括処理の中に表コマンドがありますから、なんとなく一括処理のプログラムの中で
2つのコマンドを区別出来なくなってエラー状態になっているのかなーという気がしていたんですが、
バージョンを早くに確認すれば、こんなに悩まれなかったですね。
sp5もかなりコマンドが増えましたが、バグがあるようです。
あまりひどいものはK3に確認するのが早道かもしれません。
とりあえず解決されてよかったです。
少なからずお役に立てて光栄です。

戻る