• ベストアンサー

長い名のフォルダ内にフォルダは作れないのかな?回避方法は?

はじめまして。 変な質問で恐縮ですが、長いフォルダ名のフォルダ内に長いフォルダ名の フォルダを作ろうとしているのですが、うまくいきません。 具体的には、 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 というフォルダ内に 0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 というフォルダを作成し、 そのフォルダ内に同様なフォルダを作成しようとしたところ、 01234567890123456789012345678901234567890というフォルダしか作れず、 さらにはその中にフォルダ、ファイルは作れない状態になってしまいます。 合計すると240文字程度のものになっているので、ファイルシステム上の制限等で 256byte以上には出来ないのかもしれないのですが、これを回避する方法って 存在するのでしょうか? ちなみにWindows2000を使用しています。 Web等で同様に長いフォルダ名のフォルダの下に長いフォルダ名のフォルダが あるような作りのページを見た事があるような気がするのですが、どうでしょう? 勘違いでなければ、それはどういう作りになっているのでしょう? ご存知の方がおられましたら、ご回答頂けると幸いです。 宜しくお願いします。

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

  • ベストアンサー
  • Spur
  • ベストアンサー率25% (453/1783)
回答No.2

文字数制限の仕様です。 >Web等で同様に長いフォルダ名のフォルダの下に長いフォルダ名のフォルダが >あるような作りのページを見た事があるような気がするのですが、どうでしょう? 勘違いだと思います。 それはフォルダ名ではなく、CGIの引数ではないでしょうか? http://xxx.xxx.xxx/xxx/xxx.cgi?yyyy=zzz&yyyyyyy=zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz というようなものだと思います。

lina-tan
質問者

補足

ご回答、ありがとうございます。 確かにそんな感じっだったような気もします。。。 100Goldさんへの追加質問と一部重複してしまうのですが、 cgiの引数としてはその長さに制限はないのでしょうか? 無いはずはないとは思うのですが。。(^^; 1024を超える引数って存在するのでしょうか? また、MAXはどのくらいなのでしょうか? ご回答頂けたら幸いです。 よろしくお願いします。

その他の回答 (4)

  • Spur
  • ベストアンサー率25% (453/1783)
回答No.5

申し訳無いのですが、質問の意図とポイントが分かりません。 フォルダの文字数の話だと思ったのですが、それがCGIの引数と勘違いされているようなので回答しました。 しかし、追加質問を見ると、フォルダの文字数の話ではなくなったような気がします。 質問を分けて、新しいスレッドを起こしたほうが良いのではないでしょうか? そうしないと、タイトルとはまるで関係の無い話に発展しそうです。 >そのパスとかをファイル名に使用したいというのが目的でした。 フォルダ名ではなく、ファイル名ですか? ますますこんがらかってきました。 フォルダ名の話なのか、ファイル名の話なのか、CGIの引数の文字数制限の話なのかハッキリしていただいて、タイトルにあるような、フォルダの話でなければ、ここで引き続き質問を続けるのは問題点を複雑にするだけだと思いますよ。

lina-tan
質問者

お礼

ご回答ありがとうございます。 大変申し訳ございません。 話がだんだんずれて来てしまっています。。。 ご指摘の通り、当初はフォルダの文字数の話で、CGIの引数と勘違いしていたので すが、以降はタイトルとはまるで関係の無い話に発展させてしまっていました。 確かに以降の質問は別にすべきですね。。。すみません。以後注意します。 これまでの回答でいろいろと参考になりました。 ありがとうございました。

  • 100Gold
  • ベストアンサー率27% (284/1018)
回答No.4

再度回答させていただきます。 たとえばこの質問にアクセスするためのURLは http://oshiete1.goo.ne.jp/kotaeru_reply.php3?q=462768 です。 で、サーバのルートディレクトリが/usr/local/apache/docsだとすると、 これはサーバ内の/usr/local/apache/docs/kotaeru_reply.php3ファイルにアクセスしているのです。 この場合の変数が?以下のq=462768です。 qという変数に462768という値を渡しています。 この値を使ってデータベースを参照してこのページが生成されているわけです。 ご質問されているようなことを行うのは無理なので、何がしたいかで質問をしなおしてはいかがでしょうか? 別の方法があるかと思います。

lina-tan
質問者

お礼

ありがとうございます。 仰るとおり、質問内容が変わっていますので、本来は別に質問すべき内容でした。 申し訳ありません。以後気をつけます。 ご回答により、大体どのようにアクセスしているかがわかり、参考になりました。 ありがとうございました。

lina-tan
質問者

補足

えっと、初めてだったもので、良回答を1つしか選べない事が解っていません でした。。。 今回、ちょっと差が付いてしまいますが、気持ちはお二方とも良回答なので、 単純に回答数で付けさせていただきます。 ご容赦ください。。。ごめんなさい。

  • Spur
  • ベストアンサー率25% (453/1783)
回答No.3

CGIの引数の文字制限ですか? 伝送方法がGETだと256bytesですが、POSTでは実質無制限だと思います。 私は2000bytesくらいまであつかいましたが、問題は無かったですね。 現に、このサイトへの書き込みも1000bytesを超えるものがあるでしょ?

lina-tan
質問者

お礼

ありがとうございました。 1024を超えるものもあるんですね。。。 CGIについて無知でしたが、参考になりました。 100Goldさんへの追加質問で書きましたように、 そのパスとかをファイル名に使用したいというのが目的でした。 その場合、普通どう処理するものなのでしょうか。。? ?以降は引数だから、通常は無視したらいいのかな? 引数の使われ方がよく解ってないので。。。 お礼を言うつもりが、また質問じみた事を書いてしまいました。 もし宜しければ、お答え頂けると幸いです。 ありがとうございました。

  • 100Gold
  • ベストアンサー率27% (284/1018)
回答No.1

ファイルシステム内でのパス(位置情報)の大きさが決まっていますので無理です。Webでは長い名前の前に?がついていると思います。 ?の後は変数でフォルダ名ではありません。

lina-tan
質問者

補足

早々のご回答、ありがとうございます。 なるほど確かにWebでは?とか付いていたような気がします。 もし宜しければ、追加の質問に答えていただければ幸いです。 Webでの?の後は変数であり、フォルダ名ではないとのことですが、 Web上では、?以降の変数については制限は無いのでしょうか? 極端な話、1024文字を超えるものとか。。。 そのパスとかをファイル名に使用したいとか言う場合は、?より前を 使用するとかにするのが一般的なのでしょうか? 出来ればご回答、よろしくお願いします。

関連するQ&A

  • フォルダー名が変えられません

    PC:Panasonic CF-SZ5 OS:Windows10 Pro 64bit フォルダー名が変えられません。 変えようとすると「別のプログラムがこのフォルダーまたはファイルを開いているので 操作を完了できません」となります。 もちろんフォルダー、ファイルを開いていません。 どうしてもフォルダー名を変えたいときは、一旦セーフモードにしてフォルダー名を 変えてから通常モードに戻して作業を続けています。 どうしてフォルダー名が変えられなくなったのでしょうか? フォルダー名を変えるためにはどうすればよいのでしょうか?

  • フォルダ階層のパスの長さを管理する方法

    Win環境において、ファイルサーバとして利用してます。 その際、ユーザがフォルダやファイル名に長い2バイトでの文字列を使用するので、非常に長い(約300バイト)パスとなってしまいます。 この場合の回避策や長いパスが存在した場合にチェックするような管理ツールやユーティリティはありませんでしょうか? よろしくお願い致します。

  • 指定フォルダに存在するフォルダ名

    javascriptで指定フォルダに存在するフォルダ名、ファイル名を取得する方法を知りたいです。

  • 新しいフォルダー名

    ファイルを整理するため、新しいフォルダを作成し、その中に フォルダ名を入れてenterを押しても”新しいフォルダ”になる。 今までは出来たのに、急にフォルダ名が入らなくなりました。 原因が分かれば教えてください。保証切れのVistaです。 ※OKWAVEより補足:「NEC 121ware : Windows」についての質問です

  • ファイル名と同じフォルダ名のフォルダを作成したい

    タイトルの通りです。たくさんの画像ファイルがあり、そのファイル名と同じ名前のフォルダを作成して、自動的にそのファイルが同じ名前のフォルダに入るようなツールはどこかにないでしょうか。OSはWINDOWSXPです。

  • batファイルでのフォルダ名の入力??

    フォルダ内の特定のファイルがあれば 作業するexeがあり、そのreadmeにはこの様に 記してあります。 ↓ Usage : 11111.exe ファイル名 Usage : 11111.exe フォルダ名 ファイル名 拡張子abcファイル内の番組情報を元にbbcファイルを生成する フォルダ名 フォルダ直下にあるabcファイルすべてのbbcファイルを生成する。 ここまで↑ 同一階層にbatを作成しexeも置いておき、ファイル名を入力したら成功しました。 @echo off 11111.exe 22222.abc 結果。22222.bbc作成成功。 しかし、フォルダ名を入れても全く出来ません。 @echo off 11111.exe rrrrr g:\rrrrrは存在しません、となって終了してしまいます。 同一階層にbatやexeを置いて実行しても ひとつ上の階層に置いて実行したりしても同じでした。 もちろんrrrrrフォルダは存在しています。 11111.exe g:\rrrrr としても同じでした。 サンプルのbatでは @echo off 11111.exe $Filepath$ となっていました。 フォルダ名の入力がポイントだと思うのですが いろいろやっても全く出来ませんでした。 ご教授願います。

  • フォルダへのアクセス権の設定方法を教えてください

    Webサーバ上のプログラムからファイルサーバへアクセスしてフォルダの作成やファイル保存をしたいのですが、フォルダへのアクセス権がないためにエラーになります。 フォルダへのアクセス権の設定方法を教えてください。 ■環境等の詳細 ■Webサーバ OS:Windows Server 2016   WORKGROUP WEB:InternetInfomationServer 10 (IIS 10) PHP:7.2.1 このサーバのPHPプログラム内からファイルサーバにある共有フォルダへアクセスして、フォルダの作成やファイルの保存を行いたい。 ■ファイルサーバ OS:Windows Server 2016   WORKGROUP このサーバ上に共有フォルダを作成している。(\\fileserver\work) Webサーバ上のIISのアプリケーションプールは 名前       :"abcdefg"(DefaultAppPoolから変更してある) .Net CLRバージョン:v4.0 マネージパイプラインモード :統合 ID        :ApplicationPoolIdentity Webサーバのタスクマネージャでw3wp.exeのユーザ名を見ると"abcdefg"になっている。 WebサーバOSにログインしてからファイルサーバ上の共有フォルダへアクセスすると問題なく閲覧・フォルダの作成・ファイルの作成ができます。 PHPのログに書かれるエラーメッセージ mkdir(): Permission denied {"userId":6,"exception":"[object] (ErrorException(code: 0): mkdir(): Permission denied at C:\\-(PHPファイルのパス)-XXXXXXX.php:60) C:\\-(PHPファイルのパス)-XXXXXXX.php(60): mkdir('\\\\\\\\fileserver\\\\work...', 511) エラーになった箇所のPHPのソースコードはmkdir("\\fileserver\work\123",0777)としてあります。 ちなみに、Webサーバ上に作成した共有フォルダには問題なくアクセスできて閲覧・フォルダの作成・ファイルの作成はできます。 (PHPプログラムのバグではないと思っています。) ネットでいくつか調べてやってみたのですが、うまくいきません。 https://technet.microsoft.com/ja-jp/library/ee886292.aspx 共有フォルダに対してIISユーザ(abcdefg)の権限が付与されていないのでは?と思い、"IIS AppPool\abcdefg"を設定したのですが、設定後に確認すると追加設定した箇所が"不明なアカウント(s-1-5-82-...)"となってしまいます。

  • USBメモリ内のフォルダが開けなくなりました。

    こんばんは。 WinVistaを使用しています。 いつも使用しているUSBメモリのあるフォルダが開けなくなりました。アイコンもフォルダの表示ではなく、真白のテキストのようなアイコンです。 ダブルクリックすると、「ファイルを開くプログラムの選択」と出てしまいます。 そして、同じ階層に「BOOTEX.LOG」というテキストファイルができていました。 英語なのですが、翻訳内容が以下です。 「Hの上のファイルシステムのチェック:ファイルシステムのタイプはFATです。一貫性があるかあなたのディスクのうちの1つをチェックする必要があります。あなたはディスク・チェックを取り消してもよい。しかし、継続することは強く勧められます。ウインドウズは今ディスクをチェックするでしょう。ボリューム通し番号はフォルダー\家の中の036A-5783回復不能エラーです。フォルダーをファイル(Y/N)に変換しますか。はい転向者はファイル(Y/N)にチェーンをなくしました?33冊の回復されたファイル中のはい17596416バイト。ウインドウズは、ファイルシステムへの修正をしました。2063269888バイトはディスク・スペースを合計します。32の隠しファイルの中の1638400バイト。440のフォルダー中の14417920バイト。2324ファイル中の423002112バイト。ディスクで利用可能な1624211456バイト各割付けユニットで32768バイト。ディスク上の62966の合計の割付けユニット。ディスクで利用可能な49567の割付けユニット。」 上記文書内の「家」というのがフォルダ名です。 復元の方法をご存じの方おられましたら、アドバイスお願いします。

  • 半角スペースのあるフォルダが削除できない

    よろしくおねがいいたします。 「新規作成」でフォルダを作ったのですが、うっかりフォルダの最後の文字を半角スペースにしたら、フォルダが消えなくなってしまいました。 消そうとすると、「ファイルを削除できません。送り側のファイルまたはディスクから読み取れません」というエラーがでます。 どうにかして消す方法はないでしょうか? DOSで立ち上げて消そうとしましたが、ファイル名が日本語で、かつ長いので「フォルダが存在しません」のようなエラーがでてしまいます。 OSはWINDOWS2000です。

  • ファイル名と同一名のフォルダを大量作成したい

    お世話になります。 数百あるファイルが入ったフォルダがあります。(仮に「ルートフォルダー」とします) 今回分けあってルートフォルダー直下にあるファイル名と同一の名前でフォルダーを作成する必要があります(A.txtというファイルであればAフォルダー作成)(結果:ルートフォルダー¥A¥) また、そのうえで数百あるファイルをフォルダーに収めないといけません(結果:ルートフォルダー¥A¥A.txt) なんとか自動で出来ないものでしょうか? 流れとしては 1.ファイル名読み取り 2.フォルダー作成 3.フォルダーへファイルを移動 なお、ファイル名・拡張子は様々です。規則正しく揃っていません。

専門家に質問してみよう