0

是否有程序(或 ReNamer 或 .cmd 的代码)将文件 readme.txt 复制到与 readme.txt 相同的目录中的每个目录?

重命名器:http: //www.den4b.com/? x=products&product= renamer (有一个 PascalScript 规则,允许用户编写自己的重命名规则。)

我每天从工作中获得超过 50 个新目录,它们都需要这个文件。我已经手动完成了1000多个,我希望有一个解决方案。

谢谢!

4

3 回答 3

0

下面是ReNamer的 PascalScript 代码,它将在每个处理的文件夹中创建一个Readme.txt文件。

该脚本在预览期间执行,因此为了安全起见,每次预览时它都会询问您是否创建Readme.txt 。该脚本ReadmeText对内容使用常量,但也可以从系统上的文件复制Readme.txt文件的内容。如果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 回答
0
@echo off
FOR /R %%f in (.) DO xcopy readme.txt %%f

您将 .bat 文件保存在与 readme.txt 相同的位置,并且子目录必须与 readme.txt 位于同一文件夹中:即

Desktop
    readme.txt 
    name.bat
    Sub1
    Sub2
    Sub3

ETC....

于 2013-03-21T15:21:20.877 回答
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 回答