痔になりやすい生活習慣とは?

助けてください。
もう吐きそうです。

今バッチファイルを作成中ですが、moveコマンドを使用する際に何度も構文エラーエラーを吐き出します。

マニュアルどおり
-------------------------------------------------------------------------
move /y C:\Users\****\documents\targetFolder C:\Program Files (x86)\targetFolder
-------------------------------------------------------------------------
と絶対パスでどちらとも指定しているのに、構文エラーエラーしか吐き出しません。
辛いです。助けてください。
いったい何を間違えたのでしょうか?

A 回答 (2件)

後の方のホルダー名にスぺースが有るためでは?以下のように「"」でくくってもダメですか?


-------------------------------------------------------------------------
move /y "C:\Users\****\documents\targetFolder" "C:\Program Files (x86)\targetFolder"
-------------------------------------------------------------------------
    • good
    • 2
この回答へのお礼

それは、試してませんでした。
しかし、普通は、移動先フォルダと移動元フォルダの各引数の間はあけるのではありませんか?

お礼日時:2017/12/08 15:31

フォルダ名に「スペース」を含んでいるからですね。


自分も前の回答者さんと同意見です。
ダブルクォーテーションで挟んで、パスを明示的に示すようにしましょう。
    • good
    • 0
この回答へのお礼

出来ました!ありがとうございました!

お礼日時:2017/12/08 15:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aと関連する良く見られている質問

Qコマンドプロンプトでフォルダを移動させるには?

C:\Data\Mine\Pictureというフォルダ構造の時、
Pictureフォルダを
C:\Dataの直下に移動させたいのです。

moveでフォルダ移動させようとすると「アクセスが拒否されました」となってしまいます。
moveではフォルダの移動は出来ないのでしょうか?

(ダメならcopyとrmdirで対応します)

Aベストアンサー

moveでできますよ。
ご希望のケースであれば、move c:\data\mine\picture c:\dataとやればいいと思います。
そのフォルダの中に入って作業をしようとしているとか、フォルダの中にあるファイルをロックしているアプリケーションがあるとかではないですか?

Qmoveコマンドで別のドライブにフォルダを移動

moveコマンドで別のドライブにフォルダを移動

コマンドプロンプトでmoveコマンドを使って
フォルダを別のドライブに移動させたいのですが、
「アクセスが拒否されました」と出て移動が
できません。

同じドライブ内だと問題なく移動できます。
また、別のドライブでもファイルなら問題なく移動できます。
フォルダは別のドライブに移動できないのでしょうか?

試してみたことは以下の通りです。
同じドライブでフォルダを移動 → ○
同じドライブでファイルを移動 → ○
別のドライブにフォルダを移動 → ×
別のドライブにファイルを移動 → ○

コマンドの例
■これだとうまくいかない
 (別のドライブにフォルダを移動)
set moto="E:\test1"
set saki="C:\test2"
move %moto% %saki%

■これだとうまくいく
 (別のドライブにファイルを移動)
set moto="E:\test1.txt"
set saki="C:\test2"
move %moto% %saki%

よろしくお願いします。

Aベストアンサー

なるほどね・・・
フォルダの名前がわかっているのであればですが、
set saki="C:\test2" ちなみに"set"はいりませんよ
mkdir %saki%
copy %moto%\*.* %saki%
などと、全ファイルというスタイルでコピー移動してしまえばうまくいきます。
それと移動は同一ドライブでのみできるので、この場合はコピーの方が解決が早いです。
xcopyなどはいかがですか?(標準機能)
使い方などは
xcopy /?
で調べてみてください(おそらくwわくわくするはずですが)

Q複数フォルダをまとめて移動するバッチ

複数フォルダを、フォルダ内のファイルごと、移動させたいです。

イメージで言うと、下の
C001やC002の階層にあるフォルダ群を、A001の下に持って行きたいんです。
(B001のフォルダがジャマになっている)
[image]
root:.
└─A001
   └─B001
      ├─C001
      │  ├─File01
      │  └─File02
      └─C002
          ├─File01
          └─File02
[/image]

moveコマンドで出来るのかなぁと思っていたのですが、
複数ファイルは出来るんだけど、複数フォルダは出来ませんでした。
ファイルを一括して特定のフォルダにまとめるのではなく、
フォルダ構造は残して複数フォルダを一括移動させたい(中間フォルダ階層を消したい)です。

実際には上のイメージとは異なり、数百個のフォルダがあり、ファイル数も各フォルダに数万個入っているので、エクスプローラから切り取り&貼り付けを行うと、それだけで10分近くかかってしまい困っています。
可能なら、バッチで夜中に自動実行させて済ませたいです。

よろしくお願いします。

複数フォルダを、フォルダ内のファイルごと、移動させたいです。

イメージで言うと、下の
C001やC002の階層にあるフォルダ群を、A001の下に持って行きたいんです。
(B001のフォルダがジャマになっている)
[image]
root:.
└─A001
   └─B001
      ├─C001
      │  ├─File01
      │  └─File02
      └─C002
          ├─File01
          └─File02
[/image]

moveコマンドで出来るのかなぁと思っていたのですが、
複数ファイルは出来るん...続きを読む

Aベストアンサー

とりあえず、こんな感じでそのディレクトリにある全てのフォルダを一つ上のディレクトリに移動できると思いますが。

-------
@echo off
for /d %%f in (*) do move %%f ..
-------

Qファイルが移動できない(しばしば)

ファイルを移動しようとすると
{ファイル名}を移動できません。ほかの人またはプログラムによって使用されています。
ファイルを使用している可能性があるプログラムをすべて閉じてから、やり直してください。
と表示されて特につかんでいそうなプログラムが無いのにファイルの移動がしばしばできなくなってしまいます。少しWebなどを調べて削除であればDOSプロンプトや再起動後、ツールといった方法で強引に削除する方法があるようですが、移動なので削除というわけにもいきません。ちなみに移動できないファイルはプロパティも見ることができません。OSはWindowsXP SP2で、常駐はノートンアンチウィルスくらいです。何かいい方法をご存知でしたら教えていただければと思います。

Aベストアンサー

No1です。追加情報として・・・・。
色々調べてみましたが、ウィルス以外でこのようにファイル操作ができなくなる事例として、
ファイルの情報が不完全でこの不完全情報をエクスプローラで読み取ろうとして固まる事例があるみたいですね。
これはエクスプローラの仕様っぽいですね。(←全然あてにならない推測ですが・・・)
今回は移動しようとして、エクスプローラで対象ディレクトリを開いた時にファイルロックがかかったのでしょうね。

No3さんの仰ってるウィルスが原因であった場合は、explorer.exeの入れ替えは有効と思いますが、原因がファイルにある場合は、explorer.exeを入れ替えは有効ではなくなってしまいます。・・・と思います。(^^;)

システム起動後その対象ファイルのあるディレクトリ(今回の場合はC:\Documents and Settings\Administrator)をエクスプローラで開かなければ、DOSコマンド(move)で移動すれば多分できるでしょうね。

エクスプローラで対象ディレクトリを1度でも開いてしまった場合は、やはりNo3さんの仰る通りエクスプローラを止めて、DOSコマンドなりファイル操作のソフトなりでエクスプローラを介さない方法で移動するしかないでしょうね。

動画ファイルには結構あるみたいです。
今回はレア・ケースに当たってしまったみたいですね。(^^;)

No1です。追加情報として・・・・。
色々調べてみましたが、ウィルス以外でこのようにファイル操作ができなくなる事例として、
ファイルの情報が不完全でこの不完全情報をエクスプローラで読み取ろうとして固まる事例があるみたいですね。
これはエクスプローラの仕様っぽいですね。(←全然あてにならない推測ですが・・・)
今回は移動しようとして、エクスプローラで対象ディレクトリを開いた時にファイルロックがかかったのでしょうね。

No3さんの仰ってるウィルスが原因であった場合は、explorer.exeの...続きを読む

QXCOPYで指定したフォルダとファイルをコピーしたい

C:\AAAフォルダとC:\AAA以下のファイルをコピーしたくて、
XCOPY C:\AAA D:\BBB /E
とすると、コピー先のD:\BBBにはAAAフォルダにあるファイルはコピーされるのですが、AAAフォルダそのものはコピーされません。
XCOPY C:\ D:\BBB /E
とすればコピーできるのですが、そうするとC:\のほかのフォルダもコピーされてしまいます。
EXCLUDEオプションを使うには指定するファイルが多いため、あまり使いたくありません。(コピーする前にMDでコピー先にAAAフォルダを作成するのもなるべく避けたい)
知っている方がいらしたら教えて下さい。

Aベストアンサー

xcopy /e C:\AAA D:\BBB\AAA
複数ファイルのコピーでコピー先が存在しないとき、ファイル名と見なすかディレクトリ名と見なすか聞いてきます。

応答を聞かれるのが嫌なら
echo d | xcopy /e C:\AAA D:\BBB\AAA
でいいはず。

Qコマンドプロンプトによるフォルダ内のファイル存在有無

バッチ処理で、特定のフォルダ内(配下にフォルダとファイルが混在している)でファイルだけの存在有無を調べて、ファイルが存在している場合とファイルが存在していない場合で処理を別々に行わせようとしたいのですが、ファイルの存在有無はどのようにコマンドで調べれば良いでしょうか?

DIR C:\test\*.* でファイルを調べて、ERRORLEVELでif判定させようと思っているのですが、 DIRコマンドでこれを行うと、フォルダまで表示されます。

どのようにしたら良いのでしょうか?教えてください。

Aベストアンサー

コマンドプロンプトで、「DIR /?」と入力すれば、DIRコマンドのヘルプが表示されます。

その記述によれば
「/A」属性スイッチで、必要な属性を持つファイルを指定できます。

QMS-DOSのバッチファイルの中で日本語ファイルを取り扱うには

ある日本語で書かれたファイルの名称をバッチファイルで変更しようとしています。
rena.bat (以下中身) -------------
rename "ごろ猫のサンバ.txt" "test.txt"
---------------------------------
実行すると「The system cannot find the file specified. 」の表示です。

しかし、MS-DOSプロンプトのコマンドラインから直接
> rename "ごろ猫のサンバ.txt" "test.txt"
を打ち込むと正常に動いてくれます。

目的はリネームをしようという事ではなく、バッチファイル中の日本語を含むファイル名(+パス)の取扱いができないことで派生して色々検証した結果、取り扱えないという状況で質問している次第です。

何か勘違いしているのでしょうか。バッチファイル中で日本語ファイルを取り扱うにはどうしたらいいのでしょうか?ご存知の方、ご教授ください。

Aベストアンサー

> 「現在のコード ページ: 932」と出て
ということはコマンドプロンプトの話でしょうかね。

XPの場合ですが、
コマンドプロンプトのウィンドウのアイコンの上で右クリックすると表示されるメニューから『規定値』を選択すると現われるダイアログで
オプションタブの規定のコードページを932にすれば最初から日本語モードでコマンドプロンプトが起動するようになりますけど。

Qバッチファイル 二つ上のディレクトリのパス取得

"C:\test\sample\a.bat"を実行した時 %~dp0 で C:\test\sample\ と展開できるのですが、
この時 C:\test\ というパスを取得するにはどうすればいいでしょうか?
バッチファイルから二つ上のディレクトリのパスを取得する方法を教えていただきたいです。
よろしくお願いします。

Aベストアンサー

C:\test\ という名前が欲しいのであれば、

set A=%~dp0
set A=%A:~0,-2%
for %%A in (%A%) do set A=%%~dpA
echo %A%

アクセスするだけであれば、他の方のように .. で。

そういう意味では、下記でも良いですね。この場合は、C:\test\ でなく、C:\test が得られます。

pushd %~dp0..
set A=%CD%
popd
echo %A%

Qテキストファイルから最終行の抽出

テキストファイルに出力された内容のうち、
最終行のみ抽出し、他のテキストファイルに
落とし込みたいと考えています。

DOSコマンドを使用して実現したいと思うのですが
良い方法などございましたら、ご教授ください。

宜しくお願い致します。

※OSはWindows Server 2003を使用しています。

Aベストアンサー

98SEから2003までのすべてのWindowsに標準搭載されているコマンドでFORと>(リダイレクト)を使って出来ます。

FOR /F "TOKENS=1*" %A IN ([元ネタファイル名]) DO ECHO %A > [出力先ファイル名]

 (大カッコ([ ])は必要ありませんが、普通のカッコ( () ) は必要です。)

 元ネタのファイルサイズが大きかったら少々思い処理になるかもしれませんが、所詮テキストファイルですので、極端に時間がかかるものでもないでしょう。

 なお、元ネタのファイルはSVS形式などのファイルだと思いますが、そうだとするとフィールドの区切り文字をそのデータ内に含まれないものにするといいですね。FORのなかに" "で囲まれた部分がありますが、そこに 「delims=...」などとデータ内に無い文字列を指定します。"TOKENS=1* delims=..."というようにTOKENSとはスペース区切りで追加します。
(今回、元ネタのデータがどういうものか分からないのではっきりとした答えを書きようがありません。データの形式によっては例外処理対応をする必要もあります。

 バッチで組むならもっと軽くする方法はありますね。なお、その際、FORの内部変数を%%Aとする必要がありますので気をつけましょう。今回はコマンドラインでということですので、コマンドライン1行で出来るものとしています。

98SEから2003までのすべてのWindowsに標準搭載されているコマンドでFORと>(リダイレクト)を使って出来ます。

FOR /F "TOKENS=1*" %A IN ([元ネタファイル名]) DO ECHO %A > [出力先ファイル名]

 (大カッコ([ ])は必要ありませんが、普通のカッコ( () ) は必要です。)

 元ネタのファイルサイズが大きかったら少々思い処理になるかもしれませんが、所詮テキストファイルですので、極端に時間がかかるものでもないでしょう。

 なお、元ネタのファイルはSVS形式などのファイルだと思いますが、そう...続きを読む

Qバッチファイルにてファイル名指定移動

下記の質問に近いのですが、質問させていただきます。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=2094137

ファイル名にaaaとbbbという文字列が含まれるファイルを
cccフォルダに移動する場合はどのように記載したらよいのでしょうか?

よろしくお願いいたします。

※以下は上記質問URLを参考にaaaという文字列のみが含まれるファイルをcccに移動するバッチです。
=======
@echo off
findstr /L /M "aaa" *.send >filelist.dat
IF %ERRORLEVEL% EQU 0 FOR /F "delims=" %%i in (filelist.dat) do move "%%i" ccc
del filelist.dat
=======

Aベストアンサー

No.1です。

> ファイル名は○○△aaa×■○と言った感じでaaaやbbb以外にも文字列を含んでいるのです。

ファイル名の前後にワイルドカード(*)をつければいけそうな気がするんですが・・・試してみました?
参考URLを挙げますので、一度確認してみてください。

参考URL:http://cmd-pro.com/tec_wild.html


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング