2016-08-11 20 views
0

私の同僚は彼のためにバッチを作成するように頼んだので、File(私の場合はZIP)をNetworkフォルダから別のNetworkフォルダに移動します。同僚は、このバッチスクリプトをThumbフラッシュドライブで時折使用します。バッチ - パスがわからない場合、フォルダを見つける方法

  1. 行くに\ folder1の\アーカイブ:

    任意の方法は、私はこれを行うには、私のバッチスクリプトを持っています。

  2. move "\\folder1\archive\file.zip" "\\###.###.#.#\Newfolder\Archive"

は今、私は問題を抱えています。同僚がこのスクリプトを他のコンピュータで使用すると、zipファイルへのパスは機能しません。つまり、私は何とかその道を見つける必要があるということです。

この

は、パスが他のコンピュータ上でどのように変化するかである。

移動 "\" 別のフォルダ "\アーカイブ\ file.zip" は "\ ### ### ## \新規フォルダ\アーカイブ"。。。

私の質問は、「別のフォルダ」へのパスを見つける方法です。

+0

'move'はファイルを別のディスクに移動することはできません(ファイル自体には触れず、ファイル割り当てテーブルのみを変更するため)。代わりに 'copy'または' xcopy'と 'del'を使います。 – Stephan

+0

これらの画面をご覧ください。たぶん私は馬鹿だと思います。私は本当になぜ私は移動を使用することはできません理解できないのですか?それは私にはうまく見えます。 [link](https://postimg.org/gallery/111p3kuqu/96410afa/) – Vairis

+0

uhm - 申し訳ありませんが、私は 'ren'と' move'を混同しました。あなたは正しいです、あなたはここで '移動 'を使うことができます。 – Stephan

答えて

1

まず、 UNCファイルのパスは\\servername\sharename\folder\file.extですので、移動は機能しません。他のファイルパスはDrive:\folder\file.extと相対パス\subfolderofcurrentfolder\file.extです。

Dir c:\filename.ext /s 

はファイルを検索します。回答を得るには

For /f "delims=" %%A in ('dir c:\file.ext /a /s /b') Do echo %%A 
+0

ねえ、私は新しいバッチファイルを作成し、私が言及したパスをテストしました。すべてがうまくいった(Newfolderで私はsharenameを意味した)が、私はアクセス権がないと私に言った。私はスクリプトが管理者として実行される必要があると思います。しかし、これは私がこのコメントを書いたかった理由ではありません。私はあなたに質問したかったのですが、あなたが下記で追加したコードを説明できますか?これをコードに追加すると、正しい共有名が検索されます。 (私はバッチスクリプトで新しくなっています)。 – Vairis

+0

このコマンドがどのように動作するかはわかりましたが、ここで重要なのは、すべてのcd、moveなどのコマンドにどのように結果を解析するのですか? – Vairis

+0

単一のバックスラッシュで始まる相対パスは、現在のドライブ_の__ rootと相対的です。__ currentディレクトリ_から相対的に__ NOT__です。 'cd/D"%windir%\ temp "'でコマンドプロンプトウィンドウで試して、次に 'cd \ Windows'または' cd "\ program files"を実行すると、Windowsのディレクトリツリーで1レベル上になりますディレクトリまたは同じドライブ上のプログラムファイルディレクトリにあります。現在のディレクトリまたはそのサブディレクトリの1つのファイルまたはフォルダの相対パスは、ファイル/フォルダ名か ''。\ 'で始まり、' .. \ ''はカレントディレクトリの親ディレクトリを参照します。 – Mofi

関連する問題