‘壹’ bat文件编写求助!!
以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI
@echo off
rem 全盘搜索/查找指定名称的文件夹,并拷贝/复制到U盘里
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
for /f "tokens=2 delims==" %%a in ('wmic LogicalDisk where "DriveType='2'" get DeviceID /value^|find "="') do (
set upan=%%a
)
if not defined upan (echo;无法获取U盘盘符&pause&exit)
set "findname=销售"
set "newfolder=%upan%\业绩"
if not exist "%newfolder%" md "%newfolder%"
for %%a in (Z Y X W V U T S R Q P O N M L K J I H G F E D C) do (
if exist %%a: (
if not defined _%%a: (
echo;%%a: Searching……
pushd %%a:
for /f "delims=" %%b in ('dir /ad/b/s') do (
if /i "%%~nxb" equ "%findname%" (
echo;"%%b" --^> "%newfolder%"
)
)
popd
)
)
)
echo;%#% +%$%%$%/%@% %z%
pause
exit
‘贰’ 看dos自带的帮助看不懂
参数是自定义的。括号之间是有空格的。如果不懂的话,挑几个容易理解的命令开始学起,刚开始都是不会的,我也是。慢慢学习就学会了。
path是路径的意思,比如C:\就是C盘的路径,filename是文件名的意思,drive是驱动器的意思,就是常见的cdef盘符。
参数不一定必须有,有些命令可以有可以没有参数,但是有些命令必须带参数才可以运行的。
‘叁’ 如何知道 java 一个包 分布在classpath中 哪些个jar 或 class 文件中
找到classpath及jar中相关类,可以参考以下代码,与你的表现形式有些不同。你那样的,我以前也见过,但一时想不起来是怎么实现的了。
import java.io.File;
import java.util.Enumeration;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
public class ActivityTest {
public static void main(String[] args) throws Exception {
String findname = "File.class";
String str = System.getProperty("sun.boot.class.path");
String[] jarnames = str.split(";");
for (int i = 0; i < jarnames.length; i++) {
File file = new File(jarnames[i]);
if (file.isFile() && file.exists()) {
JarFile jar = new JarFile(file);
Enumeration<JarEntry> enums = jar.entries();
while (enums.hasMoreElements()) {
JarEntry entry = enums.nextElement();
if (entry.getName().endsWith(findname)) {
System.out.println(entry);
return;
}
}
}
}
}
}
‘肆’ VB 检查进程是否启动,如启动则运行命令,无启动则退出
新建一个模块,把下列代码拷贝过去,调用过程CheckPro就可以啦
,参数FindName-要查找的进程名,DeleteNeme要删除的文件名(含绝对路径)
'已通过测试,有条件的话,加点分哈,嘿嘿
Option Explicit
Private Type PROCESSENTRY32
dwSize As Long
cntUsage As Long
th32ProcessID As Long
th32DefaultHeapID As Long
th32MoleID As Long
cntThreads As Long
th32ParentProcessID As Long
pcPriClassBase As Long
dwFlags As Long
szExeFile As String * 1024
End Type
Const TH32CS_SNAPHEAPLIST = &H1
Const TH32CS_SNAPPROCESS = &H2
Const TH32CS_SNAPTHREAD = &H4
Const TH32CS_SNAPMODULE = &H8
Const TH32CS_SNAPALL = (TH32CS_SNAPHEAPLIST Or TH32CS_SNAPPROCESS Or TH32CS_SNAPTHREAD Or TH32CS_SNAPMODULE)
Const TH32CS_INHERIT = &H80000000
Public Declare Function CreateToolhelp32Snapshot Lib "kernel32" (ByVal dwFlags As Long, ByVal th32ProcessID As Long) As Long
Public Declare Function Process32First Lib "kernel32" (ByVal hSnapshot As Long, lppe As PROCESSENTRY32) As Long
Public Declare Function Process32Next Lib "kernel32" (ByVal hSnapshot As Long, lppe As PROCESSENTRY32) As Long
Public Declare Function CloseHandle Lib "kernel32.dll" (ByVal hObject As Long) As Long
'判断进程是否存在
Public Function GetPidByPName(ByVal ProcessName As String) As Long '根据进程名称获得进程号
Dim strdata As String
Dim my As PROCESSENTRY32
Dim l As Long
Dim l1 As Long
Dim mName As String
Dim i As Integer, pid As Long
l = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0)
If l Then
my.dwSize = 1060
If (Process32First(l, my)) Then
Do
i = InStr(1, my.szExeFile, Chr(0))
mName = LCase(Left(my.szExeFile, i - 1))
If mName = LCase(ProcessName) Then
pid = my.th32ProcessID
GetPidByPName = pid
Exit Function
End If
Loop Until (Process32Next(l, my) < 1)
End If
l1 = CloseHandle(l)
End If
GetPidByPName = 0
End Function
Public Sub CheckPro(FindName As String, DeleteName As String)
'FindName-要查找的进程名,DeleteNeme要删除的文件名(含绝对路径)
'如:FindName = "qq.exe" DeleteName="c:\cc.txt"
If GetPidByPName(FindName) > 0 Then
'找到了
Dim tmpObj As Object
Set tmpObj = CreateObject("Scripting.FileSystemObject")
If tmpObj.FileExists(DeleteName) Then
'目标文件存在则删除
tmpObj.DeleteFile DeleteName
End If
Set tmpObj = Nothing
Else
'退出软件
End
End If
End Sub
‘伍’ 准备把全部"家当"送给会C语言编程的大虾!
/*=========================clock.c========================
下面是TC做的时钟
要求:TC目录下得有EGAVGA.BGI文件
每秒发出“喀嗒喀嗒”的声音
整点用5声低1声的响声来报点
======================================================*/
#include <math.h>
#include <dos.h>
#include <Graphics.h>
#define CENTERX 320 /*表的中心坐标X*/
#define CENTERY 175 /*表的中心坐标Y*/
#define CLICK 100 /*每秒发出的频率*/
#define CLICKDELAY 30 /*第秒发出的声音的持续时间*/
#define HIBEEP 1000 /*高频*/
#define LOWBEEP 500 /*低频*/
#define BEEPDELAY 200 /*整点报时的持续时间*/
int Mark_1[8]={-5,-160,5,-160,5,-130,-5,-130};
int Mark_2[8]={-5,-160,5,-160,2,-130,-2,-130};
int HourHand[8]={-3,-100,3,-100,4,10,-4,10};
int MinHand[8] ={-3,-120,3,-120,4,10,-4,10};
int SecHand[8] ={-2,-150,2,-150,3,10,-3,10};
/*发出喀嗒声并延时*/
void Click(void)
{
sound(CLICK);
delay(CLICKDELAY);
nosound();
}
/*高声报时*/
void HighBeep(void)
{
sound(HIBEEP);
delay(BEEPDELAY);
nosound();
}
/*低声报时*/
void LowBeep(void)
{
sound(LOWBEEP);
delay(BEEPDELAY);
nosound();
}
/*画多边形*/
void DrawPoly(int *data,int angle,int color)
{
int usedata[8];
float sinang,cosang;
int i;
sinang=sin((float)angle/180*3.14);
cosang=cos((float)angle/180*3.14);
for (i=0;i<8;i+=2)
{
/*一个矢量旋转angle角后的坐标,通过两角和公式计算出来的结果*/
usedata[i] =CENTERX+cosang*data[i]-sinang*data[i+1]+0.5;
usedata[i+1]=CENTERY+sinang*data[i]+cosang*data[i+1]+0.5;
}
setfillstyle(SOLID_FILL,color);
fillpoly(4,usedata);
}
/*画时钟*/
void DrawClock(struct time *curtime)
{
int ang;
float hourrate,minrate,secrate;
setbkcolor(BLUE);
cleardevice();
setcolor(WHITE);
for (ang=0;ang<360;ang+=90) /*画表盘*/
{
DrawPoly(Mark_1,ang ,WHITE);
DrawPoly(Mark_2,ang+30,WHITE);
DrawPoly(Mark_2,ang+60,WHITE);
}
secrate = (float) curtime->ti_sec/60; /*秒对分针以及时针的贡献*/
minrate =((float) curtime->ti_min+secrate)/60; /*分针角度*/
hourrate=((float)(curtime->ti_hour%12)+minrate)/12;/*时针角度*/
ang=hourrate*360;
DrawPoly(HourHand,ang,YELLOW); /*画时针*/
ang=minrate*360;
DrawPoly(MinHand, ang,GREEN); /*画分针*/
ang=secrate*360;
DrawPoly(SecHand, ang,RED); /*画秒针*/
}
void main(void)
{
int gdriver=EGA,gmode=EGAHI;
int curpage;
struct time curtime,newtime;
initgraph(&gdriver,&gmode,"");
setbkcolor(BLUE);
cleardevice();
gettime(&curtime);
curpage=0;
DrawClock(&curtime);
while(1)
{
if (kbhit())
break;
gettime(&newtime);
if (newtime.ti_sec!=curtime.ti_sec) /*一秒钟更新一次*/
{
curpage|=0X0001; /*0、1更新*/
curtime=newtime;
setactivepage(curpage);
DrawClock(&curtime);
setvisualpage(curpage);
/*整点发出高频的音*/
if (newtime.ti_min==0&&newtime.ti_sec==0) /*整点*/
HighBeep();
else if (newtime.ti_min==59&&newtime.ti_sec>=55&&newtime.ti_sec<59) /*将近整点的时候,发出五声你音*/
LowBeep();
else /*其他时间,喀嗒声*/
Click();
}
}
closegraph();
}
‘陆’ 关于C语言的文件输出问题(简单)急!!!!!!!!!!
//职工管理系统
//职工号,姓名,性别,年龄,学历,工资,住址,电话等
/*
1、录入职工信息,若录入的职工号重复给予提示;
2、浏览职工信息;
3、职工号和职工姓名查询职工信息;
4、按职工号删除职工信息。
5、输出职工信息。
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//下面定义职工信息结构
struct WORKER{
int id; //职工号
char name[20]; //姓名
char sex[3]; //性别
int age; //年龄
char e[50]; //学历
int wages; //工资
char adr[255]; //住址
char phone[13]; //电话
};
typedef struct WORKER *PWORKER;
struct LINK{
WORKER w;
LINK *next;
};
typedef struct LINK *PLINK;
//创建职工信息链表
PLINK create()
{
PLINK p=(PLINK)malloc(sizeof(struct LINK));
if(NULL!=p)
{
p->next=NULL;
return p;
}
printf("内存不足!\n");
return NULL;
}
//显示程序界面文字
void message()
{
system("cls");
printf("欢迎进入职工管理系统\n");
printf(" --帮助 请输入:0\n");
printf(" --录入职工信息 请输入:1\n");
printf(" --浏览职工信息 请输入:2\n");
printf(" --按职工号查询 请输入:3\n");
printf(" --按姓名 查询 请输入:4\n");
printf(" --删除职工信息 请输入:5\n");
printf(" --输出职工信息 请输入:6\n");
printf("\n --清屏 请输入:7\n");
printf(" --退出 请输入:-1\n");
}
//录入职工信息
int add(PLINK p)
{
PLINK q=(PLINK)malloc(sizeof(struct LINK));
if(NULL==q)
{
printf("录入失败提示:内存不足!\n");
return -1;
}
printf("请输入职工号(数字):");
scanf("%d",&q->w.id);
PLINK h=p->next;
while(h)
{
if(h->w.id==q->w.id)
{
free(q);
printf("录入失败提示:此职工号已经存在!\n");
return -1;
}
h=h->next;
}
printf("请输入职工姓名(文字):");
scanf("%s",&q->w.name);
printf("请输入职工性别(文字):");
scanf("%s",&q->w.sex);
printf("请输入职工年龄(数字):");
scanf("%d",&q->w.age);
printf("请输入职工学历(文字):");
scanf("%s",&q->w.e);
printf("请输入职工工资(数字):");
scanf("%d",&q->w.wages);
printf("请输入职工住址(文字):");
scanf("%s",&q->w.adr);
printf("请输入职工电话(文字):");
scanf("%s",&q->w.phone);
q->next=p->next;
p->next=q;
printf("录入成功!\n");
return -1;
}
//浏览职工信息
void show(PLINK p)
{
message();
printf("浏览职工信息\n");
printf("职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话\n");
while(NULL!=p->next)
{
printf("%d\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",
p->next->w.id,p->next->w.name,p->next->w.sex,p->next->w.adr,
p->next->w.e,p->next->w.wages,p->next->w.adr,p->next->w.phone);
p=p->next;
}
printf("显示完毕!\n");
}
//按职工号查询
PLINK findid(PLINK p,int id)
{
message();
printf("按职工号查询\n");
printf("职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话\n");
while(NULL!=p->next)
{
if(p->next->w.id==id)
{
printf("%d\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",
p->next->w.id,p->next->w.name,p->next->w.sex,p->next->w.adr,
p->next->w.e,p->next->w.wages,p->next->w.adr,p->next->w.phone);
return p;
}
p=p->next;
}
printf("查询结束!\n");
return NULL;
}
//按姓名 查询
PLINK findname(PLINK p,char *name)
{
message();
printf("按姓名 查询\n");
printf("职工号\t姓名\t性别\t年龄\t学历\t工资\t住址\t电话\n");
while(NULL!=p->next)
{
if(0==strcmp(p->next->w.name,name))
{
printf("%d\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",
p->next->w.id,p->next->w.name,p->next->w.sex,p->next->w.adr,
p->next->w.e,p->next->w.wages,p->next->w.adr,p->next->w.phone);
return p;
}
p=p->next;
}
printf("查询结束!\n");
return NULL;
}
//按职工号删除职工信息
int del(PLINK p,int id)
{
message();
printf("按职工号删除职工信息\n");
while(NULL!=p->next)
{
if(p->next->w.id==id)
{
PLINK q=p->next;
p->next=p->next->next;
free(q);
printf("删除成功!\n");
return 1;
}
p=p->next;
}
printf("没有你输入的职工号!\n");
return -1;
}
//程序结束时释放内存
void release(PLINK p)
{
PLINK q;
while(NULL!=p->next)
{
q=p;
p=p->next;
free(q);
}
free(p);
}
//输出职工信息
void disp(PLINK p)
{
FILE *fp;
fp=fopen("d:\\职工信息.txt","w");
fprintf(fp,"%s\t%s\t%s\t%d\t%s\t%d\t%s\t%s\n",
p->next->w.id,p->next->w.name,p->next->w.sex,p->next->w.age,
p->next->w.e,p->next->w.wages,p->next->w.adr,p->next->w.phone);
fclose(fp);
}
int main()
{
int cmd=0;//命令号
int id;
char name[20];
PLINK pworker;
if(!(pworker=create()))
{
exit(0);//如果创建职工信息链表表头失败则结束程序
}
while(cmd!=-1)
{
switch(cmd)
{
case 0:
message();
break;
case 1:
add(pworker);
break;
case 2:
show(pworker);
break;
case 3:
printf("请输入要查询的职工号:");
scanf("%d",&id);
findid(pworker,id);
break;
case 4:
printf("请输入要查询的职姓名:");
scanf("%s",name);
findname(pworker,name);
break;
case 5:
printf("请输入要删除的职工号:");
scanf("%d",&id);
del(pworker,id);
break;
case 6:
disp();
case 7:
default:
message();
}
printf("请输入操作命令数字:\n");
scanf("%d",&cmd);//接收命令
}
printf("谢谢使用!\n");
release(pworker);
return 0;
}
‘柒’ excel宏命令 如何查找并定位相应单元格
占个位置先,宏稍后贴上 ^-^
----------------------------------
代码如下(要求第一行为姓名,第一列为日期),直接执行即可(经常用的话,可以设置一个快捷方式,或者放一个图标在工具栏或菜单条中):
Sub 人员日期定位宏()
Dim FindName As String, toDay As Date, x As Integer, y As Integer
Dim oldcell As Range
Set oldcell = ActiveCell
FindName = ActiveCell.Value
toDay = Date
FindName = InputBox("请输入你要查询的人员姓名:", "人员&日期定位宏", FindName)
If FindName = "" Then Exit Sub
Rows("1:1").Select
On Error GoTo notFindName:
Selection.Find(What:=FindName, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, MatchByte:=False, SearchFormat:=False).Activate
'LookAt:=xlWhole 表示单元格匹配,LookAt:=xlPart 表示部分匹配
x = ActiveCell.Column()
Columns("A:A").Select
On Error GoTo notFindDate:
Selection.Find(What:=toDay, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, MatchByte:=False, SearchFormat:=False).Activate
y = ActiveCell.Row()
On Error GoTo 0
Cells(y, x).Select
Exit Sub
notFindName:
MsgBox "没有找到你需要的人员姓名(" & FindName & ")!", vbInformation + vbOKOnly, "人员&日期定位宏"
oldcell.Select
Exit Sub
notFindDate:
MsgBox "没有找到今天的日期(" & CStr(toDay) & ")!", vbInformation + vbOKOnly, "人员&日期定位宏"
Cells(1, x).Select
End Sub
注:它会将你所选择的单元格内容默认为要查找的人员姓名,当然你可以修改之。
有疑问或问题请Hi我或给我发BaiDu消息。
GoodLuck!
‘捌’ find.-name用法
findname提供线上查询和客户端查询,支持findname提供线上查询和客户端查询.其中线上查询只需要输入要查询的域名字符,在下拉提示框中会自动列出所有域名后缀的注册状态,点击其中一个就可以看到详细信息,非常方便。等十几种域名查询,其中线上查询只需要输入要查询的域名字符,在下拉提示框中会自动列出所有域名后缀的注册状态
‘玖’ stata安装路径出现两个ado
选择一个就好,下载的外部命令通常为 .ado 格式,为了将下载的命令与自编的命令放在不同的路径下,找到 Stata 的安装路径,可以看到一个 【ado 】文件夹。里面有【base】 文件、【plus】 文件及 【personal】 文件(后两个文件夹不一定有自带,可以自己手动创建)。 - 【base】文件夹用于存储 Stata 自带的基础命令 - 【plus】文件夹用于存储外部命令 - 【personal】用于存储自己编写的命令和 dofiles。
为了达到这一目的,需要对系统默认路径进行一些简单的设置。在 Stata 的安装路径下(如:【D:\stata15】)新建一个 profile.do 文件,将如下命令放到此文件中:
adopath + "D:\stata15\ado\plus"
sysdir set PLUS "D:\stata15\ado\plus" // 外部命令的存放位置
sysdir set PERSONAL "D:\stata15\ado\personal" // 个人文件夹位置
cd `c(sysdir_personal)'
根据外部命令的来源不同,所使用的命令也不尽一致,这里主要介绍 ssc , search,net ,findit 和 github 等命令。
2.1 ssc 命令
ssc 是 Statistical Software Components (http://www.repec.org) 的缩写,用于操作存放在该网站上的外部命令,包括安装 ( ssc install)、移除 ( ssc uninstall )、描述 ( ssc describe)、显示最近更新 ( ssc new )、显示最热门 ( ssc hot )。例如:
. ado dir //显示已安装ado文件
[1] package outreg2 from http://fmwww.bc.e/repec/bocode/o
'OUTREG2': mole to arrange regression outputs into an illustrative table
[2] package estout from http://fmwww.bc.e/repec/bocode/e
'ESTOUT': mole to make regression tables
. ssc install winsor2, all replace //安装winsor2,基本用法:ssc install newprogramname
checking winsor2 consistency and verifying not already installed...
installing into D:\stata15\ado\plus\...
installation complete.
若要查看某一具体命令是否安装,可以利用
. ado, find(winsor2)
[3] package winsor2 from http://fmwww.bc.e/repec/bocode/w
'WINSOR2': mole to winsorize data
要查看 ssc 上最热门的命令,可以通过
. ssc hot, n(10) //显示排名前10的命令
Top 10 packages at SSC
Aug 2018
Rank # hits Package Author(s)
----------------------------------------------------------------------
1 331271.0 findname Nicholas J. Cox
2 19504.6 outreg2 Roy Wada
3 18223.6 estout Ben Jann
4 11066.7 distinct Gary Longton, Nicholas J. Cox
5 7746.3 winsor Nicholas J. Cox
6 6881.7 winsor2 Lian Yu-jun
7 6598.7 ivreg2 Mark E Schaffer, Steven Stillman, Christopher F Baum
8 6579.3 ivreg210 Mark E Schaffer, Steven Stillman, Christopher F Baum
9 6571.1 ivreg28 Mark E Schaffer, Steven Stillman, Christopher F Baum
10 6561.8 ivreg29 Christopher F Baum, Mark E Schaffer, Steven Stillman
----------------------------------------------------------------------
(Click on package name for description)