• ベストアンサー

UWSCのDOSコマンドについて

UWSCのDOSコマンドについてご教授願います。 DOSコマンドにて xcopy を使用しているのですが、 ret = Doscmd("xcopy c:\test c:\****\/X/E/H/K") の****部分に変数の数値を使用したいのですがどのようにスクリプト組めばいいのでしょうか? 初歩的な質問で申し訳ございませんが、宜しくお願い致します。

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

  • ベストアンサー
回答No.1

変数値を埋め込みたいなら ret = Doscmd("xcopy c:\test c:\"+変数名+"\/X/E/H/K") で埋め込めます。 ただ、\と/Xの間にスペースを入れないと xcopyコマンドは正しく実行できないと思います。

kuma33kuma
質問者

お礼

返信遅くなって大変申し訳ございません。 ありがとうございます。 教えて頂いた方法でうまくいきました。 ありがとうございました。

関連するQ&A

  • DOSのコピーコマンド

    このカテゴリーで良いかどうかわかりませんが、教えてください。(説明が下手ですみませんが) Cドライブのあるフォルダーの中のファイル(1つまたは複数)をDドライブにコピーするバッチファイルを作ろうと思います。 たとえばyyyyフォルダーのzzzzをコピーする場合は次のような1文です。 xcopy c:\yyyy\zzzz.* d:\ /e この時、フォルダー名にスペースがあるときはどうしたらいいのかわかりません。 たとえばc:\windows updateのようなフォルダー名の場合 xcopy c:\yyyy xxxx\zzzz.* d:\ /e では動きません(yyyyとxxxxの間にスペースがあるから)。 この場合DOSコマンドをどう書けば良いのか教えてください。

  • DOSコマンドのxcopy

    お世話になります。 DOSコマンドで cドライブのtmp1の下のデータを BBBフォルダーごと cドライブのtmp2の下にBBBフォルダーとして ディレクトリーごとコピーしたいのですが うまくいきません どなたかおわかりになりましたら お願いいたします。 ↓これだとうまくいきませんでした xcopy c:\tmp1\BBB c:\tmp2\ OS=Win7(64bit)

  • DOS コマンドが・・・

    CD内の全てのフォルダをHDにコピーしたいんですが。DOSコマンドでなんて命令すればいいんでしたっけ?e: の中身を c: のWinフォルダにコピーしたいのです。よろしくお願いします。

  • MS-DOSのXCOPYコマンド(パラメータ付き)について

    FD起動用フロッピーでXCOPYコマンドを実行するには XCOPY XCOPY32 等の実行ファイルをFDにコピーしておけば出来ますが、 /E /C /R /H /K 等のパラメータを付けて実行すると出来ません。 まだ何かのファイルをFDにコピーしておかなければ(DLL等)出来ないと 思われますが? 教えて下さい。

  • vbsより実施のdosコマンド(xcopy)について教えてください。

    何方かご教授頂けませんでしょうか。 1.E:→C:へ特定のDir/Fileコピーを作成したい。 2.特定のDir/Fileは、入力リストにFilePathが行単位で記述される。 3.C:にはE:と同様なDirが存在するものもある。 4.VBSは入力リストを行単位で読み込み、BATファイルへpathを渡す。 5.コマンド発行→コマンドより戻り値→VBS→コマンド発行→・・・  と出来ればさせたいです。(この部分どうしてよいものか?) VBS--- Set objFso = CreateObject("Scripting.FileSystemObject") Set objWsh = WScript.CreateObject("WScript.Shell") inFL = objFso.GetAbsolutepathname("pathlist.txt") inBAT = objFso.GetAbsolutepathname("xcopy.bat") Set objin = objFso.OpenTextFile(inFL,1) Do While objin.AtEndOfStream <> True inline = objin.readLine inpath = "E:"&inline outpath= "C:"&inline objWsh.Run(inBAT&" "&inpath&" "&outpath) Loop bat--- echo F|xcopy /Y %1 %2 pathlist--- \temp\temp1\a.xls \temp\temp1\b.xls ~ 上記、VBSを実行させた結果は --- C:\temp>echo F | xcopy /Y E:\temp\temp1\a.xls C:\temp\temp1\a.xls C:\temp>echo F | xcopy /Y /Y E:\temp\temp1\a.xls C:\temp>echo F | xcopy /Y /Y /Y   ~ 繰返し --- 現状、DOS窓の中、コマンドが繰り返され止まりません。 何方か、「コマンド発行→コマンドより戻り値→VBS→コマンド発行→・・・」、Dir/Fileのコピーがpathlist行単位に行えるようご教授頂けませんでしょうか。 何分初心者なので、拙い文章、ご容赦願います。

  • UWSCでファイルを開く方法

    UWSCというソフトに関する質問です。 UWSCを使って、テキストファイルを開くにはどうすればよいのでしょうか? 戻値 = FOPEN( ファイル名, [オープンモード]) の関数を使うということなので、例えば、test.txtというファイルを開きたいときに、 fid = FOPEN("test.txt" , F_READ or F_WRITE) というスクリプトを使ったのですが、うまくいきません。 ファイル名にファイルのある場所の情報(C:\Users\taro\Desktop\uwsc48c1など)を入れる必要があるのでしょうか? それとももっと別の場所で間違っているのでしょうか? とても初歩的な質問で大変申し訳ないのですが、どなたかご教授いただけないでしょうか。 よろしくお願いします。

  • DOSバッチで画面を出さない方法

    DOSバッチでXCOPYコマンドを実行します。 内容はこれだけです。 @ECHO OFF XCOPY C:\DATA\*.* \\サーバー\DATA\*.* /S/H/Q/Y/V/K/R/O/X これをタスクで毎日5分置きに回すことにしています。 すると、どうしても一瞬だけDOS画面が表示されます。 このDOS画面を全く出さない方法はありませんか? あるいは、画期的な方法はありませんか? この仕組みは日本のみならず、アメリカ(WindowsXP英語版)、中国(WindowsXPマルチ言語版)でも使うので、できれば簡単な仕組みが良いです。

  • UWSCでメモ帳に書いてある数値を変数に代入

    UWSCでメモ帳に書いてある数値を変数に代入 今回初質問です。宜しくお願いします。 UWSCを使っているのですが、ひとつ分からないことがありまして、質問させてください。 たとえば、メモ帳にある数値が下記のように書き込まれるとします。書き込みにはUWSCは使っていません。 3 5 6 10 2 50 数値は上から時系列順に、1時間ごとに書き込まれるとします。 3 ←3時に記載 5 ←4時に記載 6 ←5時に記載 10 ←6時に記載 2 ←7時に記載 50 ←8時に記載 IF文で数値が50以上の場合にある特定の行動をしてほしい、というUWSCのスクリプトを書きたいのですが、その場合のスクリプト記載方法が分かりません。 動的に書かれる数値をUWSCのスクリプトの中に取り入れる方法ご存知の方、ご教授下さい。 IF メモ帳に書かれている数値 >= 50 特定の行動 ENDIF 宜しくお願いいたします。

  • DOSコマンドでアドバイスをお願いします

    よろしくお願いします。 Windows2003サーバのDOSコマンドで サーバのメンテナンス機能の開発を検討しています。 下記のロジックについて、お手数ですが、 サンプルなど頂けると助かります。 サーバ上に散在するログファイルを、 そのサーバ上の一か所のディレクトリに 集めたい、というのが要望です。 test.lstというリストファイルがあり、 そこにはサーバ上のログファイルなどが記載されています。 C:\temp\test.log C:\program files\data\data.log C:\data\execute.log ・・・ これらのファイル名をループで読み込みながら、コピーし、 「C:\Backup」にそのコピーを集めていきたいと思います。 DOSコマンドによるバッチでこれは実現可能でしょうか?。 よろしくお願いします。

  • MSDOSコマンドについて教えてください

    MSDOSコマンドについては初心者ですがすみません。 Windows2000のコマンドプロンプトで コマンドを使いたいのですが、 たとえば xcopy \\test-server\test\ c:\test\ /d /s /i /e /r というコマンドを使って 同じLAN上の「test-server」というPCの共有フォルダ「test」の中のファイルと、 このコマンドを実行するPCのCドライブの「test」フォルダの中身を同期させたい(同じ構成にしたい;ミラーリング)のですが、 WindowsNTのときは問題なくできたのですが Windows2000だと、ファイルを上書きするときに毎回、 「上書きしますがいいですか? Y/N」 というメッセージが出てきて、YかNかAをキーボードで打ち込まなければならず、強制的に自動実行できません。 すべてY(A)で、強制的に自動実行させたいのですが、コマンドをどのように書き換えたらよいでしょうか? また、今のコマンドだと上書きのみで、いらないファイルの削除(同期;ミラーリング)も同時に行いたいのですが、コマンドをどのように書き換えたらよいでしょうか? システム管理で必要なのですが、前任者が残していった設定を初心者ですが引き継がねばならず、困っています。DOSコマンドを1から勉強している余裕がなく、ぶしつけで申し訳ありませんが、必要なポイントだけ教えていただきたく、よろしくお願いいたします。

専門家に質問してみよう