Comando em lote do Windows equivalente para esses comandos PHP e Bash

0

Quais são os comandos equivalentes no Windows se eu tiver esses comandos no Linux?

if (!is_dir('geoip')) mkdir('geoip', 0744);
shell_exec('unzip -oj GeoLiteCity.zip -d geoip/');

shell_exec('rm -rf geoip/');
    
por arina 24.06.2012 / 09:40

3 respostas

2

Você deve baixar e instalar o GnuWin32 para obter todos os comandos básicos do UNIX no Windows, por exemplo, wget , sed , cat , grep , rm , mkdir , unzip - tudo o que você precisa.

link

    
por 24.06.2012 / 10:15
1

Se você puder se dar ao luxo de simplesmente ignorar os erros, então o seguinte funcionaria para seus comandos PHP:

(Espero que você tenha uma declaração antes de colocar o processo no subdiretório correto ANTES de fazer isso ... assim)

cd c:\mystuff\temp\

mkdir geoip
unzip -oj GeoLiteCity.zip -d geoip/
rmdir /S /Q geoip/

Se o geoip já existir, o mkdir retornará um erro, mas não é fatal. Claro, se você descompactar algo sobre algo pré-existente, você terá problemas. Mas o seu roteiro original também não cobre isso.

rmdir / S / Q geoip / removerá o subdir geoip e qualquer coisa abaixo dele. mesmo que rm -rf

SEJA CUIDADO com rmdir / S / Q , você pode fazer coisas estúpidas com isso com bastante facilidade.

    
por 24.06.2012 / 10:26
0
  • Dada uma pasta, descompacta para esse local
  • Dado o caminho inválido, faz o dir e descompacta
  • Dado um arquivo, renomeia esse arquivo para filename.old, torna dir e unzips

script.bat

@echo off

IF NOT EXIST %1 GOTO Make_Folder

REM File exists, test to see if it's a folder
REM Get attributes of first param. 
set ATTR=%~a1

REM if first character is "d", it's a folder
set DIRATTR=%ATTR:~0,1%
IF /I "%DIRATTR%"=="d" GOTO Extract

:Is_File
echo %1 already exists and will be renamed. 
pause
ren %1 %1.old

:Make_Folder
mkdir %1
attrib +r %1

:Extract
unzip -oj GeoLiteCity.zip -d geoip
echo Extraction test complete. Extracted files will now be deleted. 
pause
attrib -r -s -h %1
rmdir /S /Q %1

Uso

script "my folder"
    
por 24.06.2012 / 11:11