0

readme.txtと同じディレクトリ内のすべてのディレクトリにファイルreadme.txtをコピーするプログラム(またはReNamerまたは.cmdのコード)はありますか?

ReNamer:http ://www.den4b.com/?x=products&product=renamer (PascalScriptルールがあり、ユーザーは独自の名前変更ルールをプログラムできます)。

私は毎日仕事から50以上の新しいディレクトリを取得します、それらはすべてその中にこのファイルを必要とします。私は手動で1000以上を実行しましたが、これに対する解決策があることを願っています。

ありがとう!

4

3 に答える 3

0

バッチスクリプトでこれを試してください。

@echo off &setlocal
set "startdir=X:\start\folder"
for /d /r "%startdir%" %%i in (*.*) do copy readme.txt "%%~i"
endlocal
于 2013-03-21T15:16:40.960 に答える
0

以下は、処理されたすべてのフォルダーにReadme.txtファイルを作成するReNamerの PascalScript コードです。

スクリプトはプレビュー中に実行されるため、安全のために、プレビューのたびにReadme.txtを作成するかどうかを尋ねられます。このスクリプトはコンテンツに定数を使用しますが、システム上のファイルからReadme.txtReadmeTextファイルのコンテンツをコピーすることもできます。Readme.txtファイルが存在しない場合にのみ作成されます。すべてのフォルダーを ReNamer にドロップし、このスクリプトを使用します。

const
  ReadmeName = 'Readme.txt';
  ReadmeText = 'Content of Readme file goes here!';
var
  Initialized: Boolean;
  ReadmePath: WideString;
  DoCreateReadmeFile: Boolean;
begin
  if not Initialized then
  begin
    Initialized := True;
    DoCreateReadmeFile := DialogYesNo('Create Readme file this time?');
  end;
  if WideDirectoryExists(FilePath) then
    ReadmePath := WideIncludeTrailingPathDelimiter(FilePath)
  else
    ReadmePath := WideExtractFilePath(FilePath);
  ReadmePath := ReadmePath + ReadmeName;
  if DoCreateReadmeFile and not WideFileExists(ReadmePath) then
    FileWriteContent(ReadmePath, ReadmeText);
end.

編集

以下のスクリプトは、によって定義されたソース ファイルを受け取り、SourceFilePathそれをターゲット フォルダーにコピーします。ソースファイルが存在しない場合にも警告します。

const
  TargetFileName = 'Readme.txt';
  SourceFilePath = 'C:\Temp\Readme.txt';
var
  Initialized: Boolean;
  TargetFilePath: WideString;
  DoCreateFiles: Boolean;
begin
  if not Initialized then
  begin
    Initialized := True;
    if WideFileExists(SourceFilePath) then
      DoCreateFiles := WideDialogYesNo('Create "'+TargetFileName+'" files this time?')
    else
      WideShowMessage('Source file does not exist!'+#13#13+SourceFilePath);
  end;
  if WideDirectoryExists(FilePath) then
    TargetFilePath := WideIncludeTrailingPathDelimiter(FilePath)
  else
    TargetFilePath := WideExtractFilePath(FilePath);
  TargetFilePath := TargetFilePath + TargetFileName;
  if DoCreateFiles and not WideFileExists(TargetFilePath) then
    WideCopyFile(SourceFilePath, TargetFilePath, False);
end.
于 2013-03-21T17:42:55.543 に答える