ファイル名が長すぎて、Windowsがファイルを開けない


12

ネットワークドライブには、かなり深いパス上に多数のファイルがあり、ほとんどのディレクトリには長い名前が付いています。これらはもともと、誰かがローカルワークステーションから共有ネットワークドライブにこのファイルグループのルートディレクトリをコピーして貼り付けたときに作成されたと思います。ローカルワークステーションでは、ファイルを開くのに問題はなかったと思いますが、ネットワーク上の長いパスにあるため、ダブルクリックしてもWindowsで開くことができません。また、ファイルをコピーして、名前をより短い名前に変更しようとしましたが、Windowsも同様にできません。

TL; DR

次のような(仮想)パス上の誰かのワークステーションからのファイル:

C:\Documents and Settings\SomeUser\Files\RootOfLongFileNames\LongSubdirectoryName1\...\VeryLongAndDescriptiveAndSpecificFilename.xls
-----------------------------------------^

次のようにコピーされ、ネットワークに貼り付けられました。

Q:\Dir1\Dir2\ProjectA\FilesForSomething\SomeotherDirectory\Blahblah\RootOfLongFileNames\LongSubdirectoryName1\...\VeryLongAndDescriptiveAndSpecificFilename.xls
---------------------------------------------------------------------^

また、Windows XPで処理するにはパスが長すぎます。

これらのファイルの読み方に関するヒントはありますか?



@bZezzz:それはファイルごとに機能するように見えますが、それらの束全体を一度にアクセスできるようにするものを探しています。ローカルワークステーションへのコピーは問題ありませんが、長いファイル名保持する必要あります(ファイルの内容に対して非常に具体的なコンテキストを提供します)。また、ここの多くのユーザーは、コマンドラインからファイルを開くのに十分な技術的ではありません。あなたの提案は私と他の1人に役立つかもしれません。
FrustratedWithFormsDesigner

回答:


7

パスをSUBST.EXEに置き換えてみてください。Windowsに付属しています:

C:\Users\shufler>subst /?
Associates a path with a drive letter.

SUBST [drive1: [drive2:]path]
SUBST drive1: /D

  drive1:        Specifies a virtual drive to which you want to assign a path.
  [drive2:]path  Specifies a physical drive and path you want to assign to
                 a virtual drive.
  /D             Deletes a substituted (virtual) drive.

Type SUBST with no parameters to display a list of current virtual drives.

あなたがしたいことは、ドライブレターをチェーンの下のフォルダの1つに置き換えることです:

 C:\>subst X: Q:\Dir1\Dir2\ProjectA\FilesForSomething\SomeotherDirectory\Blahblah\RootOfLongFileNames\LongSubdirectoryName1

これで、X:ドライブのLongSubdirectoryName1フォルダーにアクセスできます。完了したら、次のように置換を削除できますsubst X: /D

これが常に必要な場合は、ログインスクリプトに追加してください。

別のアプローチは、Q:がマップされている場所からチェーンのさらに下のドライブをマップすることです。


2
私は最近この問題に頻繁に直面し、SUBSTアプローチを使用しました。そのために、ntwind.com / software / utilities / visual-subst.htmlで入手可能なVisual Substツールが非常に貴重であることがわかりました。
yosh m

6

OSがアクセスできるほど短い名前になるまで、パスのディレクトリ名を変更する必要があります。

名前を変更して名前を1文字に変更できる最初のフォルダーに移動し、必要なファイルに到達するまで後続の各フォルダーに対して同じ操作を行います。

構造を維持する必要性について:オペレーティングシステム内で作業する必要がある制限があり、これらのパラメーターの外で定期的に操作するのは良くありません。現在の迅速なソリューションは、将来的に再実行する必要があるパッチになります。真の解決策には、この非常に長いフォルダパス/ファイル名の問題が不要になるようにディレクトリ構造を再編成することが含まれます。


256文字。
bZezzz

いいえ、Windows Explorerはファイルシステムの仕様を無視し、あまり一般的ではない分母に固執することを選択するため、Windows Explorerではないプログラムを使用する必要があります。たとえば、1つのドライブの既存のルートを単にコピーすることは不可能PATH TOO LONGエラーが発生することなく、別の同一ドライブ(容量、フォーマットなど)のルートに移動します。
トリインコ


0

編集:もともと私はrobocopyを使用することを提案しましたが、もちろんこれはXPであり、それはプリインストールされていません。

ファイルパスが長すぎると、ファイル操作ができなくなります。私の見方では、いくつかのオプションがあります:

  1. 他の投稿の手順に従い、ディレクトリが短くなるまでディレクトリ名を変更します。コンピューターの良いところは、これを行うためだけでなく、元の名前が何であるかを追跡するスクリプトを作成できることです。スクリプトを使用しても、これには多少時間がかかります。

  2. Linux LiveCDを入手してください。それをコンピューターに入れ、そのCDからブートします。別のファイルシステムとして自動マウントされるWindowsディスクを参照してください。必要なすべてのファイルを取得して、デスクトップ上の新しいフォルダーに入れます。そのフォルダーを圧縮して外部ハードドライブまたはUSBスティックに配置するか、ネットワークドライブでファイルシステムにコピーできる場合は、最上位のディレクトリに移動します。


robocopyをインストールしておらず、インストールするためのアクセス権があるかどうかわかりません(作業用コンピューターです)。また、これは各ファイルの多くの作業のように聞こえます。私の例は単純化されました。実際には、いくつかのレベルにいくつかのディレクトリがあります。誰もが望むすべてのファイルに対してこれを行う時間は本当にありません。
FrustratedWithFormsDesigner
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.