• 締切済み

bat rename

例) D:\A\aaa.logファイルをカレントディレクトリ配下の D:\A\B\yymmdd_aaa.logファイルへrename/移動を 同時に行いたいです。 yymmdd_を追加する方法がわかりません。 yymmddはdateでできるのでしょうか? #yymmddは日付で年月日の数字のみ入れたい

  • hell
  • お礼率16% (41/243)

みんなの回答

  • notnot
  • ベストアンサー率47% (4848/10262)
回答No.2

Windowsの種類によって違います。2000/XPの場合を書きます。 @echo off set DAY=%DATE:/=% set DAY=%DAY:~-6% move D:\A\aaa.log D:\A\B\%DAY%_aaa.log %DATE%に今日の日付けがyyyy/mm/ddの形式で入ってますから、まず、/ を削除して、次に右から6文字を取ります。 もし echo %DATE% が、「yyyy/mm/dd」 か 「曜日 yyyy/mm/dd」の形式以外なら補足ください。

  • m0n1teur
  • ベストアンサー率43% (10/23)
回答No.1

どのプログラミング言語ですか?

関連するQ&A

  • batファイルでrenameができません。

    Windowsのbatファイルでrenameをするにはどうすればよいでしょうか? カレントディレクトリ └ A というディレクトリ構造があって、Aの中には「a.txt」があるとします。 カレントディレクトリから、 「rename "./a/A.txt" B.txt」 と書いてあるbatファイルを起動しても、「a.txt」の名前が変更されません。 「指定したパスが見つかりません。」と出てきてしまいます。 ダブルクォーテーションを取ったりつけたり、絶対パス、相対パスを書いたりと いろいろ試しましたがだめでした。 何か方法はないでしょうか?

  • rename関数 できない

    どうもこんばんは ファイル名を変更したくて、多数のサイトを調べてました。 どのサイトも全く同じことを書いてて rename("b.txt","a.txt"); a.txt を b.txt に変更する場合の記述。 そのとおりにやったのですが、 「Warning: rename(b.txt,a.txt) [function.rename]: No such file or directory in C:\xampp\htdocs\test\test.php on line 13 」 とエラーが吐いてしまい、いくらやってもこうなってしまいます。 エラー文は該当ファイルかディレクトリが無いとかそういう類だと思いますが、原因がわかりません。 これで数時間費やしてしまいまして、ヒントや答えのレスをいただくころには、 copy関数で代用していると思いますが、どうしてrenameできないのか気になります・・ ヒントでもいいので、レスいただければと思います。 因みにwindowsXPでのテスト環境下(XAMPP)です。 PHP Version 5.2.5

    • ベストアンサー
    • PHP
  • XPバッチプログラムについて

    すいませんおしえてください windowsXPでバッチファイルを作成しています。 動作内容は↓の通りです。 (1)バッチファイルが置いてあるカレントディレクトリ配下にある複数のディレクトリから、ファイル名に「test」を含む.txtファイルを カレントディレクトリにコピーする。(これをカレントディレクトリ配下のディレクトリがなくなるまで繰り返す) ※簡単に言うと、1つ下のディレクトリからコピーしてくるということです。 (2)既にカレントディレクトリに同じ名前のファイルが存在する場合は自動的に連番して上書きしないようにコピーする。 今、(1)については下記の通り作成して動作確認しましたが、このままでは複数のディレクトリに同じファイル名が 存在する場合に上書きされてしまいます。 (2)についてなかなか上手くコーディングできないのですが↓のプログラムに追加すればよいものを教えていただけますでしょうか? もしくは、全体的に間違っていれば、その部分もご指摘お願い致します。 @echo off for /d %%d in (*) do ( if exist %%d\*test*.txt copy %%d\*test*.txt *test*.txt ) 以上、よろしくお願い致します。

  • renameでのPermission deniedエラー

    下記スクリプトを実行すると、『Warning: rename(./aaa/bbb.send,./aaa/bbb.send.gz) [function.rename]: Permission denied in ...line 31←renameの行数』というエラーになります。 =========== <?php $dir = opendir("./aaa"); $latestfile=0; while ($fnm = readdir($dir)) { if($fnm == "." || $fnm == "..") continue; $ftime = filemtime("./aaa/$fnm"); if($latestfile < $ftime){ $latestfile = $ftime; $latestfilename =$fnm; $filename = "./aaa/$latestfilename"; $fp = fopen($filename, "rwb+"); fread($fp, 18); //18バイト読み飛ばす ftruncate($fp, 0); $warn = ''; while (!feof($fp)) { $warn .= fread($fp, 8192); } rewind($fp); fwrite($fp, $warn); rename($filename,"$filename.gz"); fclose($fp); } } closedir($dir); ?> ============= renameの手前でchmodを実行させ、aaaディレクトリ及びファイル自身(./aaa/$filename)にパーミッション0777を与えても現象は変わりません。renameする$filenameにつきましても./aaa/$filenameとしたり、./aaa/$latestfilenameとしてみましたがやはり変わりませんでした。 解決策があればご教授願います。

    • ベストアンサー
    • PHP
  • VBScriptで削除処理

    初めまして。 VBScriptを今回初めて使用しながらスクリプトを作成しようとしています。 〔質問〕 以下のような削除処理をVBScriptにて実施したいのですが、どのような構文を書けばいいのでしょうか? ご教授お願いします。 以下、例を挙げ記述致します。 (例)処理日が2008/3/22の場合。 「AAAA」ディレクトリ配下の以下のログファイルを二日前までの日付になっているログファイルのみ残し、あとは全て削除するという処理をしたい。 AAAAディレクトリの配下 ・aa080319.log→削除 ・aa080320.log→削除 ・aa080321.log→残す ・aa080322.log→残す 上記例を用いますが、自分で考えた処理フローとしまして、 (1)「AAAA」ディレクトリ配下のファイル一覧をテキストファイルに書き込む。 (2)「(1)」で作成したテキストファイルを読み込み、「2008322」と「2008321」に一致しないログファイルを削除。 以上、宜しくお願いします。

  • バッチファイルにてFTPで指定したファイルを取得する

    OSはWindoswXPProです。 以下のようなBATファイルとバッチファイルを作成しました。 ---FTP.bat--- echo off ftp -s:get.ftp ---get.ftp--- open 10.0.X.X username password cd /log get log.yymmdd(実際には日付) c:\access_all_log.txt quit logというディレクトリには日次でログファイルが作成され ファイル名としてlog.yymmddと名づけられています。 やりたいことは2つあります。 1つめはftpするファイル名の日付部分をコマンドなどから 範囲指定して取得するファイルを指定できないか。 (たとえば070301~070315のファイルを一括で取得したい) 2つ目はftpでのファイル取得終了後に続いて バッチスクリプトを流したいのですが、その方法。 お分かりになる方いらっしゃいましたらよろしくお願いいたします。

  • UNIXのtarコマンドについて

    tarコマンドで以下の様に指定して、カレントディレクトリ配下のファイルのみをアーカイブしたいのですが、カレントディレクトリ自身の情報もアーカイブされてしまいます。ファイルのみをアーカイブすることは出来ないでしょうか?よろしくお願い致します。 tar cvf (tarファイル名) -C (ディレクトリ名) .

  • ショートカットファイルの動きについて

    ショートカットファイルの動きについて教えてほしいです。 仮にカレントディレクトリをログに出力するバッチファイル(output.batとする)があるとします。 output.batへのショートカットを作成し、ショートカットの「リンク先」に以下を指定しました(相対パスがとれるということで調べました) %windir%\system32\cmd.exe /c cd /d .\ & start (output.batのパス) これによりショートカットの保存されているディレクトリがカレントディレクトリとなり、Aがショートカットのパスをログに出力できました。 このショートカットをタスクバーのツールバーにショートカットのフォルダを新規追加しました。 そしてツールバーからショートカットを開くとc:\windows\system32がログに出力されました。 ショートカット自体は同じものなのにツールバーだと思い通りの動きになりませんでした。 ツールバーでの利用をしたいため、この動きを想定通りにするためにはどのようにすればよいでしょうか?

  • ファイル削除について(unix)

    あるディレクトリに、ファイル名.YYYYMMDDHHMMSSという形式で保存されたファイルがあるとします。 例: aaa.20051214100000 aaa.20051215100000 aaa.20051216100000 … aaa.20060114100000 aaa.20060115100000 aaa.20060116100000 で、実行日の1ヶ月以前のファイル(例ではaaa.20051216100000以前)を削除するunixシェルを作りたいのです。 1ヶ月前の日付自体はdateコマンドで求めて、その日だけのファイル削除はできると思うのですが、1ヶ月より前のファイルを削除するにはどうしたらいいのでしょうか? とりあえず、思いついたソースです。 #!/bin/ksh #------------------------------------------------------------------------------ YY=`date +"%Y"` MM=`date +"%m"` DD=`date +"%d"` MM=`expr $MM - 1` if [ $MM = "0" ] then YY=`expr $YY - 1` $MM=12 fi rm -f aaa.$YY$MM$DD*

  • BAT処理でファイル名の変更

    BAT処理で複数ファイルの名前変更を自動化させたいのですが、うまくいかず困っております。 [変更前ファイル名]  0000001234_20140731.txt ・・・ 桁数固定のID+アンダーバー+年月日.txt [変更後ファイル名]  ID1234DATE20140731_0000001234_20140731.txt   ・・・ "ID" + IDのゼロサプレス + "DATE" + 年月日+ アンダーバー +元ファイル名 これらの処理を同じディレクトリ内のファイル全てに行うにはどのようにすればよろしいでしょうか? ご指導頂けますよう宜しくお願い致します。

専門家に質問してみよう