• 締切済み

バッチファイルで連続 ハードリンクを作成するやり方

バッチファイルである特定のフォルダ内の特定のファイルのみ(大量に)をハードリンク化して指定したフォルダ内にハードリンクを作成させておきたい。 今作成したプロログラムは下記の通りなのですが なぜか上手くいきません。 一応ターゲットフォルダ内のデータは読み込んでいるようですが指定したフォルダ内に書き込む時のエラーかは分かりませんが「無効なパラメーターです」と表記されます。詳細は画像を見てください。 で。この操作を成立させるにはどうした命令を出したらいいのかアドバイスや例題・解説などあれば知恵をお貸しくださいませ。よろしくお願い申し上げます。ペコペコ ---------------------------------------------------------------- @echo off REM ループ処理 REM デスクトップステマニ一括変換フォルダからdwiファイルを指定する REM ターゲットフォルダ set targetDir=C:\Documents and Settings\ダウンロード専用\デスクトップ\ステマニ一括変換 REM ループ処理 for /f "usebackq delims==" %%D in (`dir /b /s "%targetDir%\*.dwi"`) do ( echo %%D fsutil hardlink crete "C:\Documents and Settings\ダウンロード専用\デスクトップ\テンポ解析テキスト\%%~nD" "%targetDir%\*.dwi" ) pause -------------------------------------------------------------------------------

みんなの回答

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.5

creteはtypoということなら、 > fsutil hardlink crete "C:\Documents and Settings\ダウンロード専用\デスクトップ\テンポ解析テキスト\%%~nD" "%targetDir%\*.dwi" ――の、「"%targetDir%\*.dwi"」がおかしいような。「%%D」だけでよいのでは。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.4

「本見て参考にしながらしたのでできるかと思ったのですができないのでしょうか」て... 自分でコマンドを打つ気はないんですか? 「作成するハードリンク名がset targetDir=C:\Documents and Settings\ダウンロード専用\デスクトップ\ステマニ一括変換内の全ての.dwiのハードリンク元を順番に指定したフォルダ内に同じ名前にしたオリジナルハードリンクを一括で作れるようにしたい」って, 何をしたいかわからんのだけど. たとえば C:\Documents and Settings\ダウンロード専用\デスクトップ\ステマニ一括変換 というフォルダに「01曲名.dwi」「02曲名.dwi」「03曲名.dwi」「04曲名.dwi」という 4個のファイルがあるとしたら, 結果はどうなってほしいの?

ayabie3579jp
質問者

補足

自分でコマンドを打つ気はないんですか? 打ってますよ。インターネットで探したり、図書館行ったりしながら勉強して 自分でプログラム組んだりしてますが、どうしても分からなかったのでこの質問版を利用してプログラムの組み方についてアドバイスやこうした方がいいよ的なことを意見してもらえたら、大変ありがたいと思っています。 C:\Documents and Settings\ダウンロード専用\デスクトップ\ステマニ一括変換 というフォルダに「01曲名.dwi」「02曲名.dwi」「03曲名.dwi」「04曲名.dwi」という 4個のファイルがあるとしたら, 結果はどうなってほしいの?の回答ですが・・・ set targetDir=C:\Documents and Settings\ダウンロード専用\デスクトップ\ステマニ一括変換から*.dwiファイルを順番に読み込んで、 例)曲名1.dwi   曲名2.dwi   曲名3..dwi   曲名4.dwi   曲名5.dwi C:\Documents and Settings\ダウンロード専用\デスクトップ\テンポ解析テキストフォルダ内にハードリンク新規作成として 曲名1.lnk 曲名2.lnk 曲名3.lnk 曲名4.lnk 曲名5.lnk 的な感じで 曲名1.lnkのリンク先は曲名1.dwiのフルパスにあるといった感じのショートカットプログラムを作成させたいってことです。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

fsutil は使ったことないんだけど, 例えば %D が C:\Documents and Settings\ダウンロード専用\デスクトップ\ステマニ一括変換\01曲名.dwi だとしたらそのコマンドは fsutil hardlink create "C:\Documents and Settings\ダウンロード専用\デスクトップ\テンポ解析テキスト\01曲名" "C:\Documents and Settings\ダウンロード専用\デスクトップ\ステマニ一括変換\*.dwi" ってことになるね. これ, コマンドプロンプトから実行できる?

ayabie3579jp
質問者

補足

本見て参考にしながらしたのでできるかと思ったのですができないのでしょうか? 本の内容は「」内表記します。 「INコマンドでは先にオリジナルのハードリンクを指定し、後に作成するハードリンクをしていします。それに対してfsutil hardlink create では先に作成するハードリンクを指定するように入れ替わっています。」 私の解釈ミスなのかな? 実際は作成するハードリンク名がset targetDir=C:\Documents and Settings\ダウンロード専用\デスクトップ\ステマニ一括変換内の全ての.dwiのハードリンク元を順番に指定したフォルダ内に同じ名前にしたオリジナルハードリンクを一括で作れるようにしたいと思っていましたので、プログラムの組み方に問題があるのでしょうか? 単独でのコマンド自体は間違ってないと思いますが、同じ処理を繰り返したりファイル名を同じようにしてハードリンクを作成させるためのバッチプログラムの組み方はなんとなくでつくってしまったので、その辺の詳しい解説などありましたらお手数をかけてしまい大変申し訳なく思いますが、教えてもらえないでしょうか。 よろしくお願い申し上げます。ペコペコ

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.2

> fsutil hardlink crete もしかして「create」?

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

「ターゲットフォルダ内のデータは読み込んでいる」ってどういう意味なんだろう. 実際にどのようなコマンドが実行されているのですか? それは正しいコマンドなのですか?

ayabie3579jp
質問者

補足

create ハードリンクの作成 C:\Documents and Settings\ダウンロード専用\デスクトップ\ステマニ一括変換\01曲名.dwi create は無効なパラメータです。 ---サポートされる HARDLINKコマンド--- create ハードリンクの作成 C:\Documents and Settings\ダウンロード専用\デスクトップ\ステマニ一括変換\01曲名.dwi create は無効なパラメータです。 ---サポートされる HARDLINKコマンド---create ハードリンクの作成 C:\Documents and Settings\ダウンロード専用\デスクトップ\ステマニ一括変換\02曲名.dwi create は無効なパラメータです。 ---サポートされる HARDLINKコマンド--- create ハードリンクの作成 C:\Documents and Settings\ダウンロード専用\デスクトップ\ステマニ一括変換\03曲名.dwi create は無効なパラメータです。 ---サポートされる HARDLINKコマンド---create ハードリンクの作成 create ハードリンクの作成 C:\Documents and Settings\ダウンロード専用\デスクトップ\ステマニ一括変換\04曲名.dwi create は無効なパラメータです。 ---サポートされる HARDLINKコマンド---create ハードリンクの作成 create ハードリンクの作成 C:\Documents and Settings\ダウンロード専用\デスクトップ\ステマニ一括変換\05曲名.dwi create は無効なパラメータです。 ---サポートされる HARDLINKコマンド---create ハードリンクの作成 とゆう感じで356曲名ぐらいまで同じコメントがかかれています。 原因はなんでしょう? インターネットでも色々探しているし、図書館の本にも載っていなかったため大変困っています。 補足になっていないかもしれませんが分かる方教えてくださいお願いします。。。 上記は実行後の結果です。 コマンドは質問した時に書いてあるとおりです。(fsutil hardlink creteは打ちミスでfsutil hardlink createの間違いでした。それ以外のコマンドは )

関連するQ&A